权限管理
权限管理:
关机之前执行同步命令 sync 再halt 、shutdown -h(halt) 230/now -c (cancel)取
消
1、查看文件和目录的权限
文件
ll xxx
目录
ll -d xxx
2、三种基本权限
字符表示法:
对文件的意义
对目录的意义
r ——read only(只读) 示例命令:cat/head/tail/more/less
w ——write(写入) 示例命令:vim/rm
x ——execute(执行) 示例: sh (可执行shell脚本)
3.
如果一个用户对某个文件拥有 r 权限,该用户可以读取文件内容.
如果一个用户对某个目录拥有 r 权限,该用户可以查看目录中的内容
如果一个用户对某个文件拥有 w 权限,该用户可以修改文件内容,删除文件
如果一个用户对某个目录拥有 w 权限,该用户可以在目录中创建、删除文件
如果一个用户对某个文件拥有 x 权限,该用户可以运行/执行该文件
如果一个用户对某个目录拥有 x 权限,说明该用户可以cd到该目录
4.
怎样去查看用户对应的权限:
文件的所有者:owner
文件的所属组:group
其他人:other
八进制表示法:
r -- 4
w -- 2
x -- 1
744 表示该文件或目录所有者拥有“读写执行”权限;所属组“只读”;其他人“只读”
5、修改权限 chmod
语法:chmod 权限 文件名
例:chmod g + w filename
u user 文件所有者(属主)
g group 文件所属组(属组)
o other 其他人
a all 所有三类人
例:chmod u=rwx,g+w,o+x filename
八进制表示法:
[root@mysql_b2 opt]# chmod 755 filename权限755说明所有用户都
可以执行该文件
修改目录权限需要注意的地方:
-R 递归修改目录的权限(把目录及目录中所有的文件的权限一并
修改)
例:chmod -R 755 filename
6、修改文件的所有者、所属组
chown 更改所有者
chgrp 更改所属组
例: chown tom:tom /home/xxx
或:chown tom.tom /home/xxx
用户名:组名
7、umask 负责管理默认创建文件和目录的权限
目录最大权限777
744(目录)
文件默认最大权限666
644(文件)
umask 022
修改umask默认值:
[her@mysql_b2 ~]$ umask 022
8、特殊权限
suid 所有者权限位 u +s
一个二进制文件(有执行权限),被设置了suid位,那么其他人在执行
该文件时将暂时拥有文件所有者的权限。
sgid 所属组权限位 g +s
对文件:
一个二进制文件(有执行权限),被设置了sgid位,那么其他人在执行
该文件时将暂时拥有文件所属组的权限
对目录:
一个具有可执行权限的目录,被设置了sgid权限位,那么拷贝进来的文
件及在该目录下创建的文件(目录)他们的所属组继承该目录的所属组。
sbit 其他人权限位(粘滞位) o +t
一个具有可执行权限的目录,被设置了sbit权限位,那么该目录下的文
件及目录,只能文件所有者可以删除,其他人不能删除。
设置suid/sgid/sbit的方式
字符表达方式:
suid u+s
sgid g+s
sbit o+t
八进制表达方式:
suid 4
sgid 2
sbit 1
例:chmod 3755 filename //3为特殊权限位,后面的755为基本权限位
9、文件的访问控制acl (u:用户;g:组。一般用的多的是用户位 )(控制文件的访问
对象)
设置:
setfacl -m u:lisa:r filename
-R: 递归
setfacl -R -m u:danny:rwx /home/www/
查看acl权限信息:
getfacl filename
收回acl权限:
setfacl -x u:lisa filename
示例:
[root@mysql_b2 opt]# setfacl -m u:tom:rwx a.txt //设置用户 tom 对 a.txt 文件有读写执行权限
[root@mysql_b2 opt]# ll a.txt
-rw-rwxr--+ 1 root root 8 6月 23 10:50 a.txt //注意有个“+”号
[root@mysql_b2 opt]# getfacl a.txt //查看acl权限列表
user:tom:rwx
[root@mysql_b2 opt]# setfacl -x u:tom a.txt //收回acl权限
10、隐藏权限chattr change + attribute(属性)
a 如果一个文件被设置了“+a”权限,那么该文件不能被删除、也不能被
修改,只能往里追加。常见如 /var/log/messages文件
i 如果一个文件被设置了“+i”权限,那么该文件不能被删除、不能被修改也不能追加。常见如:/boot分区(目录)下
的文件,系统文件。
设置隐藏权限 chattr +/- 权限 filename
例:chattr +a filename
查看隐藏权限 lsattr filename
总结:
三种基本权限 r w x
修改文件所有者、所属组 chown chgrp
umask 管理默认权限
三种特殊权限
suid sgid sbit(u+s;g+s;o+t)
文件访问控制acl
(setfacl -m u:tom:rwx filename | setfacl -x u:tom filename | getfacl filename)
隐藏权限
(chattr +a filename chattr +i filename lsattr filename )
11、文件的属性信息
文件类型
- 普通文件
d 目录
l 软连接(符号链接)
b block(块)块设备(存储设备)文件
c 字符设备character,可以接受字符的设备
对文件来说,表示硬链接数量
对目录来说,表示目录中目录的数量
文件的长度 可以结合ll -h查看
文件占用的磁盘空间 du -sh test.txt
4KB*1024=4096byte
8byte= 一个block块只能给一个文件用
时间标记:
(使用)Access: 2017-06-23 13:51:22.725620490 +0800 atime 文件最近一次访
问时间
Modify: 2017-06-23 13:51:22.725620490 +0800 mtime 文件数据最近一
次修改时间
Change: 2017-06-23 13:51:22.725620490 +0800 ctime 文件最近一次属
性改变时间
12、find命令 查找
find 查找范围 -查找选项 操作
操作:默认输出到终端
-print 打印,打印到终端
-exec execute(执行)执行命令
-ok 跟-exec相同,执行命令前询问你是否执行
查找范围:默认是当前目录 .
查找选项:
-name 按照文件名查找
-size 按照文件大小查找
-user 按照文件所有者查找
-perm 按照文件权限查找
-type 按照文件类型查找
-mtime 按照文件数据最近一次修改时间查找
示例:
-name 按照文件名查找
[root@mysql_b2 opt]# find . -name "*.txt"
-type 按照文件类型查找 f文件 d目录 b c l
[root@mysql_b2 opt]# find . -name "x*" -type f //一条
find命令中可以含有多个查找选项
-size 按照文件大小查找(ll) +大于 -小于
[root@mysql_b2 opt]# find . -size -46k
-user 按照文件所有者查找
[root@mysql_b2 opt]# find . -user her
-perm 按照文件权限查找 -755大于等于755的 755只匹配755 +755
小于等于755
[root@mysql_b2 opt]# find . -perm -755
-mtime 按照文件数据最近一次修改时间查找
查找最近30天之内数据没有修改过的文件或目录(也就是说最近一次修
改是在30天之前 +mtime)
[root@mysql_b2 opt]# find . -mtime +30
找到文件并删除
find . -mtime +30 -type f -exec rm -fr {} \;
找到文件或目录,找到后拷贝到/tmp下并保持源文件属性不变
[root@mysql_b2 opt]# find . -user tom -ok cp -pr {} /tmp \;
13、sudo 让普通用户具有执行维护系统的命令
创建用户useradd test
passwd test
visudo(大概99行)
加入一行:
tom ALL=(ALL) ALL (不是说tom就有了所有root的权限去执行命令,只
是说明tom在执行sudo all命令的所有权限)
test ALL=/bin/more //只允许test以root身份执行more
命令
tom ALL=/usr/bin/passwd,/bin/more
测试:
su - tom
sudo useradd test //头一次,需要输入test的密码
su 切换用户 su - root
su - test -c ls //切换到test家里,执行ls,退出(即还在
root家)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了