权限的查看和读取
权限查看
ls -l 文件名 # 查看指定文件的权限
ls -ld 目录名 #查看指定目录的权限
权限的信息
文件的属性被叫做文件的元数据(meta data)
一种元数据用一个byte来记录内容
[ - | rw-rw-r-- | . | 1 | root | root | 0 | Jan 22 23:21 | file ]
1|2|3|4|5|6|7|8|9
九组数据来展示文件
1 [-]为类型
#-为普通文件
#d为目录
#l为软连接
#b为快设备
#c字符设备
#s 为socket嵌套字
#p 为管道 |
2 [rw-rw-r–]
#为文件的权限
#r w x 分别为 读 写 执行
#前三位为u拥有者的权限
#中间三位为g同用户组用户的权限
#后在三位为o其他人的权限
#开启的权限为字母 未开启的权限为 -
3 [ . ]
#当有 . 时表示selinux开启
#没有时 表示seliux未开启
4 [ 1 ]
#对于文件:文件中内容被系统记录的次数(硬连接个数)
#对于目录:目录中子目录的个数
5 [ root ]
#文件拥有者
6 [ root ]
#文件拥有组
7 [ 0 ]
#对于文件:文件大小
#对于目录:文件中子文件的元数据大小
8 [ 时间 ]
#文件内容最后一次被修改的时间
9 [ file ]
#文件名
普通权限的类型和作用
u#文件拥有者 ls -l 第5列
g#文件拥有组 ls -l 第6列
o#其他用户 既不是拥有者也不是拥有组成员的其它用户的通称
权限位
rwx|—|---
u|g|o
权限类型
-#权限未开启
r#可读,对于文件可以读取文件内容,对于目录可以ls 列出目录中的文件
w#可写,对于文件可以修改内容,对于目录可以在其中新建或删除文件
x#可执行,对于文件:可以用文件名调用文件中记录的程序,对于目录可以进入目录中
设定普通权限的方法
chomd #设定文件权限
权限的复制
chmod --reference=/tmp /mnt/test ##复制tmp文件的权限到 /mnt/test上
chmod -R --reference=/tmp /mnt/test ##复制tmp文件的权限到 /mnt/test和目录的子文件上
字符方式设定权限
chmod <a|u|g|o><+|-|=><r|w|x> 文件名
数字方式设定权限
权限波尔指数表示方式
rwx=111
—=000
三个二进制数可以表示的最大范围为一个八进制数
三个不同权限目标可以使用三个八进制数表示
rwx=111=7
rw-=110=6
r-x=101=5
r–=100=4
-wx=011=3
-w-=010=2
–x=001=1
—=000=0
chamod 600 目标文件
系统默认权限设定
系统为了共享资源存在
从安全角度讲 系统共享的资源越少,开放的权力越小,系统的安全性越高
把应该开放的权力默认开放
不安全的权力默认保留
保留权力
umask #查看保留权力
umask 权限数字 #临时设定系统预留权力 退出当前shell后会还原
文件默认权限=777-umask-111
目录默认权限=777-umask
永久更改保留权力
vim /etc/bashrc ##shell系统配置文件
vim /etc/profile
两个文件都修改后
source /etc/bashrc
source /etc/profile #source作用是 使我们更改的内容立刻被系统识别
特殊权限
#stickyid 粘制位
#针对目录 如果一个目录开启了stickyid 那么这个目录中的文件只能被文件所有人删除
chmod 1原始数字权限 目录名
chmod o+t 目录名
#sgid 强制位
#针对目录:目录中新建的文件自动归属到目录所属的组中
chmod 2原始数字权限 目录名
chmod g+s 目录名
#suid 冒险位
#只针对二进制可执行文件
#当运行二进制可执行文件时都是用文件拥有者身份运行,和当前的用户无关
chmod 4原始数字权限 目录名
chmoe u+s 文件名
acl权限列表
Aiccess Control Lists #访问控制列表
getfacl 文件名或目录名 #查看权限列表
##在列表中可以设定特殊用户对特殊文件有特殊权限
使用ls -l查看权限列表是否开启 权限列表开启时 ls -l查看到的权限不一定正确 应使用getfacl查看权限列表
acl列表设定
setfacl -m u:用户名:rw file #设定特殊用户的特殊权限
setfacl -m g:组名:rw file #特殊组的特殊权限
setfacl -x u:已经加入特殊权限的用户名 file #删除列表中的指定用户特殊权限
setfacl -b file #关闭权限liebiao
acl优先级
拥有者 > 特殊指定用户>权限多的组>权限少的组>其他
acl mask控制
#mask时能够赋予指定用户权限的最大阈值
act列表的默认权限
setfacl -m u:westos:rwx 目录 #只对目录本身有效
setfacl -Rm u:westos:rwx 目录 #对目录本身和目录中以存在的内容生效
attr权限
i #不能做任何修改
a #只能添加不能删除
lsattr dir|file #查看attr权限
chattr +i|-i|+a|-a #设定attr权限