RHEL-Linux文件权限管理
1.对于文件和目录属性字段的理解
属性的查看方式
文件属性的查看方式
ls -l filename
目录属性的查看方式
ls -ld directory
对于属性各字段的理解
文件类型
字符 | 含义 |
---|---|
- | 文件 |
d | 目录 |
l | 软连接 |
d | 块设备 |
c | 字符设备 |
s | 套接字 |
p | 通道 |
用户权限
-rw | r-- | r–
user group others
##第二部分共九个符号,每三个符号代表一个组
1),第一组代表的是自己用户所能用的权限,称为 “u”;
2),第二组代表的是组用户所能使用的权限,称为“g”;
3),第三组代表的是其他用户所能是用的权限,称为“o”;
是否加载安全上下文
##可以通过sestatus命令查看selinux是否被开启(开启会显示".";没开启就不会显示)
2.设定文件的用户及用户组
建立如下文件
chown
可以同时修改文件的拥有者和组拥有者
chown xyx /mnt/yxy1
chown xyx /mnt/yxydir
chown -R xyx /mnt/yxydir
chown xyx:bb /mnt/yxy2
chown -R xyx:bb /mnt/yxydir
chgrd
只能修改文件的组拥有者
chgrd bb /mnt/yxy1
3.管理文件权限
用户对文件的身份
1),第一组代表的是自己用户所能用的权限,称为 “u”;
2),第二组代表的是组用户所能使用的权限,称为“g”;
3),第三组代表的是其他用户所能是用的权限,称为“o”;
权限位
-rw | r-- | r–
user group other
用户身份匹配
user > group > other
chmod
##对于文件或者目录的权限具体有读(r)、写(w)、执行(x)三个权限
格式
1.chmod (-R) 用户类型加减权限类型,… 文件或目录
#chmod ugo-rw yxy1
#a=ugo
2.chmod --reference=权限来源 想要赋予的来源
#chomd --reference=/mnt/yxy1 /mnt/yxy2
3.chmod 用户类型=权限类型 文件或目录
#chmod ugo=rx /mnt/yxy1
4.chmod 3个数字 目录或文件
#chmod 000 /mnt/yxy1
权利类型
符号 | 类型 |
---|---|
- | 权限未开启 |
r | 可读 #对于文件:可以读取文件内容 #对于目录:可以ls列出目录中的文件 |
w | 可写 #对于文件:可以更改文件内容 #对于目录:可以在目录中新建或者删除文件 |
x | 可执行 #对于文件:可以用文件名称调用文件内记录内记录的程序 #对于目录:可以进入目录中 |
4.默认权限的设定umask
#777(全部权限)-022(系统预留权限)=755(目录权限)-111(文件系统预留权限)=644(文件权限)
临时设置权限
umask 077
仅在这个shell里生效
永久设置权限
1.进入 /etc/profile
2.进入 /etc/bashrc
3.source两个文件
5.特殊权限
stickyid
#粘制位
#针对目标:如果一个目录stickyid开后,那么这个目录中的文件只能被文件所有人删除
chmod 1原始权限 dir
chmod o+t dir
以上两条命令都可以开启目录的t权限
sgid
#强制位
#针对目录:目录中新建的文件自动归属到目录的所属组中
chmod g+s dir
chmod 2原始权限 dir
suid
#冒险位
#只针对二进制的可执行文件(C程序)
#当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关
chmod 4原始权限 file
chmod u+s file
acl权限
拥有者>特殊指定用户>权限多的组>权限少的组>其他
getfacl #查看acl规则
setfacl #更改acl规则
setfacl -m u::rwx 目录或者文件名称 #更改目录或者文件的acl权限
setfacl -x u:用户名 文件或者目录名 #删除所在用户权限
setfacl -b 名称 #关闭acl列表
setfacl -Rm u:用户名:权限 目录名 #对目录和目录中已经存在的内容生效(对目录中新建文件不会生效)
setfacl -m d:u:用户:权限 #只对目录中新建的文件生效(对目录本身权限和目录里的原文件不会产生变化)
acl mask 控制
##mask是能够富裕指定用户权限的最大阀值
恢复:setfacl -m m:权限 文件
attr权限
i
#不能做任何的更改
a
#能添加不能删除
lsattr dir|file
#查看attr权限
chattr +i|+a|-i|-a dir|file
#设定attr权限