一、系统默认权限设定
- 从安全角度讲系统共享的资源越少、开放的权力越小,系统安全性越高。因此系统有必要把一些不安全的权力默认保留。
umask表示系统保留权力
- umask :查看保留权力
umask 权限值 :临时设定系统预留权力
如图:
文件默认权限 = 777-umask-111=644;
目录默认权限 = 777-umask=755。
umask值越大系统安全性越高(说明系统保留的权限多) - umask临时更改
umask 077
- 永久更改
vim /etc/bashrc:shell系统配置文件;
vim /etc/profile :系统环境配置文件
如图:if语句表示若 UID>199,且用户名=组名(说明是普通用户的umask设定),则系统保留权限为002,否则为077(root用户的umask设定)。 - source /etc/bashrc;
source /etc/profile;
source作用,使我们更改的内容立即被系统识别
二、特殊权限
-
stickyid 粘制位
针对目录::如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除。
chmod 1原始权限 dir
chmod o+t dir
leefile为用户lee建立的文件,westosfile为用户westos用户建立的文件。
可以看到,文件只能被文件的拥有者删除。 -
sgid 强制位
针对目录: 目录中新建的文件自动归属到目录的所属组中。
chmod 2源文件权限 dir
chmod g+s dir
将root用户创建的目录更改拥有组为lee,在目录中创建一个文件,可以看到文件拥有组仍为root。
使用强制位之后,目录下创建的文件归属到目录的所属组。 -
当运行二进制可执行文件时,使其用文件拥有组身份运行,和执行用户无关。
/bin/cat是一个二进制可执行文件。
可以看到当以westos用户身份运行文件时,文件拥有者和拥有组都为westos.
当使用强制位后,文件拥有组自动归属为root。 -
suid 冒险位
只针对二进制的可执行文件(c程序) ,当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关。
chmod 4原权限 file
chmod u+s file
当使用冒险位之后,文件的拥有者归属为root.
三、acl权限列表
Aiccess Control Lists :访问控制列表
在列表中可以设定特殊用户对与特殊文件有特殊权限
-
acl列表开启标识
"+"代表acl列表开启 -
acl列表权限读取
user:lee:rwx :特殊指定用户权限。
lee用户可以创建文件,但westos用户不能,因为没有权限。
显示内容分析
mask::rw- :能够赋予特殊用户和特殊用户组的最大权限阀值
other::r-- :其他人的权限
设定目录拥有者/拥有组权限
setfacl -m u::r /public1/
setfacl -m g::0 /public1/
setfacl -x u:lee /westo :删除列表中的lee
setfacl -b /westosfile :关闭acl
**注意:当文件权限列表开启,不要用ls -l 的方式来读取文件的权限,如图,用ls -l 查看文件权限其实查看到的是mask的权限,当设定完毕文件的acl列表之后,用chmod缩小了文件拥有组的权力,mask会发生变化。
acl 权限优先级:
拥有者 > 特殊指定用户 > 权限多的组 >权限少的组 > 其他
mask:能够赋予指定用户权限的最大阀值
- 恢复:
setfacl -m m:权限 文件
setfacl -Rm u:lee:rwx /mnt/westosdir :对于/mnt/westos目录和目录中已经存在的内容生效,新建文件是不会被设定的。
setfacl -m d:u:lee:rwx /mnt/westos/ :针对与/mnt/westosdir目录中新建文件生效
四、attr权限
attr权限限制所有用户
i :不能作任何的更改
a :能添加不能删除
lsattr dir|file :查看attr权限
对/mnt/westos目录进行设定(不能做任何更改)之后,root用户无法删除目录中的文件。
root用户可以在目录中建立文件,但不能删除文件。