一、权限管理
1.权限查看及读取1.权限查看
ls -l ##查看文件权限
ls -ld ##查看目录权限
2.权限的读取
文件的属性被叫做文件的元数据(meta data)"
一种元数据用1个byte来记录内容"![](https://i-blog.csdnimg.cn/direct/2fbab4fa370341f980908aa251607502.png)
![](https://i-blog.csdnimg.cn/direct/490cc5b8e5d3409e8222162ec91fd057.png)
- 读(r):允许读文件的内容
- 写(w):允许向文件中写入数据
- 执行(x):允许将文件作为程序执行
- #文件类型
#- 普通文件
#d 目录
#l 软连接
#b 快设备
#c 字符设备
#s socket套接字
#p 管道 |
#- 表示文件类型为普通文件
#rw_(所属人对文件的权限)
#r--(文件所属组成员对文件的权限)
#r--(其他人对文件的权限)
#1(链接数)
#root(所属用户)root(所属组)
#0(文件大小)
#日期为文件最后的修改日期
#最后为文件名
3.文件所属人所属组修改
chown 修改所属人
chgrp 修改所属组
##修改目录时需用 R 才能同时修改目录中的文件
4.设定普通权限的方法
二进制、八进制及文件权限的对应关系
权限 | 二进制 | 八进制 |
--- | 0 | 0 |
--x | 1 | 1 |
-w- | 10 | 2 |
-wx | 11 | 3 |
r-x | 101 | 4 |
r-x | 101 | 5 |
rw- | 110 | 6 |
rwx | 111 | 7 |
用户对文件的身份
u: user 文件的拥有者,ls -l 看到的第五列信息
g: group 文件拥有组, ls -l 看到的第六列信息
o: other 既不是拥有者也不是拥有组成员
chmod ##设定文件权限
chmod权限复制
格式1
chmod -- reference /mnt/westosfile2 /mnt/westosfile4 ##将文件2的权限给文件4
格式2
chmod [ugoa] [+ - =] [rwxugo] <文件名或目录名>
#修改目录时加 r 可对目录下文件同时修改
5.特殊权限
(1)stickyid 粘制位
#针对目录: 如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除
chmod 1原始权限 dir
chmod o+t dir
(2)sgid 强制位
#针对目录: 目录中新建的文件自动归属到目录的所属组中
设定:
chmod 2源文件权限 dir
chmod g+s dir
(3)suid 冒险位
只针对二进制的可执行文件(c程序)
当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关
chmod 4原属性 file
chmod u+s file
6.acl
setfacl
用于在命令行中设置 ACL
,一系列的的命令跟随着的是文件名。
给用户设定 ACL 权限: setfacl -m u:用户名:权限 指定文件名
。
给用户组设定 ACL 权限: setfacl -m g:组名:权限 指定文件名
。
删除指定用户的 ACL 权限:setfacl -x u:用户名 文件名
删除指定用户组的 ACL 权限:setfacl -x g:组名 文件名
删除文件的所有 ACL 权限:setfacl -b 文件名
为tom设定acl权限
删除tom的acl权限
关闭acl
##当开启alc时,用chmod修改权限是修改mask的权限
所以开启acl后应用setfacl -m 的方式修改权限
7.attr权限
Attr 权限里的 “a” 权限和 “i” 权限
a :全名append only
只允许追加数据,不允许任何用户改动文件(超级用户也不行)
甚至不能正常的删除文件
只能读取文件内容,只能用 “echo” 追加内容
chattr +a xxx #增加 a 权限
chattr -a xxx #取消 a 权限
lsattr #查看权限
i :全名immutable
不允许对这个文件进行任何的修改(超级用户也不行)
不能正常的删除文件
只能读取文件内容,不能用 “echo” 追加内容
chattr +i xxx #增加 i 权限
chattr -i xxx #取消 i 权限
lsattr #查看权限