权限管理
一.权限查看及读取
1.权限查看
ls -l file ##查看文件权限
ls -ld dir ##查看目录权限
2.权限的读取
“文件的属性被叫做文件的元数据(meta data)“
”一种元数据用1个byte来记录内容“
#文件的权限信息#
- | rw-r--r-- | . | 1 | root | root | 0 | Apr 12 10:57 | westos
[1] [2] [3] [4] [5] [6] [7] [8] [9]
#目录权限信息#
d | rw-r--r-- | . | 2 | root | root | 0 | Apr 12 10:57 | westosdir
[1] [2] [3] [4] [5] [6] [7] [8] [9]
#对于每一位的解释#
[1] #文件类型
#- 普通文件
#d 目录
#l 阮连接
#b 快设备
#c 字符设别
#s socket套接字
#p 管道 |
[2] ##用户权限
##rw-|r--|r--
# u g o
[3] ##系统的selinux开启
[4] ##对于文件:文件内容被系统记录的次数(硬链接个数)
##对于目录:目录中子目录的个数
[5] ##文件拥有者
[6] ##文件拥有组
[7] ##对于文件:文件内容大小
##对于目录:目录中子文件的元数据大小
[8] ##文件内容被修改的时间
[9] ##文件名称
二.普通限权的类型及作用
1 .用户对文件的身份
u: #user 文件拥有者
g: #group 文件拥有组
o: #other 其他用户
2 .权限位
rwx|r--|r--
u g o
3 .用户身份匹配
user>group>other
4.权限类型
- 权限未开启
文件 目录
r 可读 读内容 ls列出目录中的文件
w 可写 改内容 目录中新建删除文件
x 可执行 用文件名调用文件内记录的程序 进入目录
三.文件用户用户组管理
chown username file 更改文件拥有者(用户)
chgrp groupname file 更改文件拥有组
chown username:groupname file 更改文件拥有者和拥有组
chown|chgrp -R user|group dir/ 更改目录本身及目录中内容的拥有者或者拥有组
监控 watch -n 1 ls -lR /目录名
四. 文件权限管理 chmod
1 复制 chomd --reference= /被复制文件 /复制到文件
2 chmod a+r/w/x /文件 ugo都加r/w/x权限
- 减
chmod u+r/w/x,g+r/w/x,o+r/w/x /文件 直接加
- 减
chmod go+rw
chmod u=rwx,g=rwx,o=rwx /文件名 直接写
chmod a=--- /文件名 不给限权
3 --- 000 0
--x 001 1 x
-w- 010 2 w
-wx 011 3
r-- 100 4 r
r-x 101 5
rw- 110 6
rwx 111 7
例 755 rwxr-xr-x chmod 755 /文件
五.系统默认权限设定
安全优化 减少文件 目录的限权 umask
文件默认权限 = 777-umask-111
目录默认权限 = 777-umask
临时修改 umask *** 在开shell会恢复
永久修改 vim /etc/profile(系统环境) 62行左右
vim /etc/bashrc(shell配置) 77行左右
source /etc/profile
source /etc/bashrc 读存
umask已永久改变
六.特殊权限
stickyid 粘制位 针对目录:开启后只能被文件所有人删除
开启方式 chmod o+t dir chmod 1777 dir
实验:chmod 1777 /pub chmod o+t /pub
开启t限权
su - westos ----> touch /pub/1
exit
su - lee ----> touch /pub/2
rm -fr /pub/1 可删除
rm -fr /pub/2 不可删除
sgid 强制位 针对目录:开启后目录中新建的文件自动归属到目录的所属组中
开启方式 chmod g+s dir
suid 冒险位 当运行二进制可执行文件时用文件拥有者身份运行,与执行者无关
开启方式 chmod u+s dir
七.acl权限列表(可设定指定用户拥有指定权力)
开启标识:基础权限末尾有+
读取 getfacl 文件名
显示内容分析
# file: westosfile #文件名称
# owner: root #文件拥有者
# group: root #文件拥有组
user::rw- #文件拥有者权限
user:lee:rw- #特殊指定用户权限
group::r-- #文件拥有组权限
group:westos:-- #特殊指定的用户组权限
mask::rw- #能够赋予特殊用户和特殊用户组的最大权限阀值
other::r-- #其他人权限
“”注意“”:当文件权限列表开启,不要用ls -l 的方式来读取文件的权限
#acl列表的控制
setfacl -m u:szy:rw westosfile #设定 制定用户
setfacl -m g:westos:rw westosfile 制定用户组
setfacl -m u::rwx westosfile 默认用户
setfacl -m g::0 westosfile 默认用户组
setfacl -x u:szy westosfile #删除列表中的szy
setfacl -b westosfile #关闭
acl权限列表
权限优先级
拥有者 > 特殊指定用户 > 权限多的组 > 权限少的组 > 其他
mask是能够赋予指定用户权限的最大阀值
setfacl -m m:限权 文件
默认权限
setfacl -m u:szy:rwx /mnt/westosdir 只对于目录本身生效
setfacl -Rm u:szy:rwx /mnt/westosdir 对于目录及目录中已经存在的内容生效
(针对于已经存在的文件生效,新建文件不会被设定)
setfacl -m d:u:szy:rwx /mnt/westosdir 对于目录中新建文件生效
(针对于已经存在的文件不生效,新建文件才会生效)
八.attr权限 限制所有用户
i 不能作任何操作
a 能添加不能删除
lsattr 文件名 查看attr限权
chattr +i/-i/+a/-a 文件名 设定attr权限