目录
一、权限查看及读取
权限查看 | |
ls -l file | 查看文件权限 |
ls -ld dir | 查看目录权限 |
权限的读取 |
文件的属性被叫做文件的元数据(meta data) |
一种元数据用一个byte来记录内容 |
1 | 文件类型,-普通文件,d 目录,l 软连接,b 快设备,c 字符设备,s socket,p 管道 | |
2 | 用户权限 rw- | r - - | r - - u g o |
3 | 系统的selinux开启 |
4 | 对于文件:文件内容被系统记录的次数(硬链接个数) 对于目录:目录中子目录的个数 |
5 | 文件拥有者 |
6 | 文件拥有组 |
7 | 对于文件:文件内容大小 对于目录:目录中子文件的元数据大小 |
8 | 文件内容被修改的时间 |
9 | 文件名称 |
硬链接* | 1.硬连接通过索引节点来进行连接。 2.在linux文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(inode index)。 3.在linux中,多个文件名指向同一索引节点是存在的,一般这种就是硬连接。 4.硬连接的作用是允许一个文件拥有多个有效路劲名,这样用户就可以建立硬连接到重要文件,以防止误删。 5.综上所诉,因为对应该目录的索引节点有一个以上的连接,只删除一个不影响索引节点本身和其它的连接,只有当最后一个被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正的删除条件是与之相关的所有硬连接文件都被删除。 |
软连接 | 1软连接文件有类似于Windos的快捷方式 2.它实际上是一个特殊的文件 3.在符号连接中,文件实际上是一个文本文件,其中包含的有另一个文件的位置信息 |
二、普通权限的类型及作用
1.用户对文件的身份
u | user文件的拥有者,ls -l 看到的第五列信息 |
g | group文件拥有者, ls -l 看到的第六列信息 |
o | other 既不是拥有者也不是拥有组成员的其他用户的通称 |
2.权限位
rwx | r - - | r - - u g o |
3.用户身份匹配
user>group>other |
4.权限类型
- | 权限未开启 |
r | 可读,对于文件可以读取文件内容 对于目录,可以ls列出目录中的文件 |
w | 可写,对于文件:可以更改文件内容 对于目录:可以在目录中新建或者删除文件 |
x | 可执行,对于文件:可以用文件名称调用文件记录的程序 对于目录:可以进入目录中 |
三、设定普通权限的方法
chmod 设定文件权限
chmod复制权限 | |
chmod - - reference=/tmp /mnt/westos | 复制/tmp目录权限到/mnt/westos |
chmod - R - - reference=/tmp /mnt/westos | 复制/tmp目录的权限到/mnt/westos及目录的子文件上 -R代表递归操作 |
chmod字符方式设定权限 | |
chmod <a | u |g |o ><+ | - | =><r | w | x> file | 用字符方式设定文件权限 |
chmod数字方式设定权限 | |
rwx | 7 |
rw- | 6 |
r-x | 5 |
r-- | 4 |
-wx | 3 |
-w- | 2 |
--x | 1 |
--- | 0 |
四、系统默认权限设定
1.系统本身存在的意义共享资源
从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高。既要保证系统安全性越高,既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放。把不安全的权力默认保留。
2.如何保留权力
umask表示系统保留权力 | |
umask | 查看保留权力 |
umask权限值 | 临时设定系统预留权力 |
文件默认权限 = 777-umask-111
目录默认权限= 777-umask
umask值越大系统安全性越高
umask临时更改
umask永久更改
五、文件用户用户组管理
chown username file | 更改文件拥有者 |
chgrp groupname file | 更改文件拥有组 |
chown username:groupname file | 同时更改文件的拥有者和拥有组 |
chown | chgrp -R user | group dir | 更改目录本身及目录中内容的拥有者或者拥有组 |
六、特殊权限
stickid | 粘制位 |
针对目录:如果一个目录stickid开启,那么这个目录中的文件只能被文件所有人删除 | |
chmod 1原始权限 dir chmod o+t dir | 例:chmod 1777 /pub chmod o+t /pub 都可以开启pub目录的t权限 |
sgid | 强制位 |
针对目录:目录中新建的文件自定归属到目录的所属组中 | |
chmod 2源文件权限 dir chmod g+s dir | 开启后,在目录中新建的文件拥有组自动归属 |
suid | 冒险位 |
只针对二进制的可执行文件(c程序) 当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关 | |
chmod 4原属性 file | |
chmod u+s file |
suid ,sgid监控
suid,sgid的更改
suid,sgid的删除
七、acl权限列表
Aiccess Control Lists 访问控制列表 功能:在列表中可以设定特殊用户对与特殊文件有特殊权限 | |
acl列表权限读取 | getfacl westosfile |
显示内容分析 | |
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:lee:rw westosfile | 设定 |
setfacl -m g:westos:rw westosfile | |
setfacl -m u:l:rwx westosfile | |
setfacl -m g::0 westosfile | |
setfacl -x u:lee westosfile | 删除列表中的lee |
setfacl -b westosfile | 关闭 |
acl权限优先级 | |
拥有者>特殊指定用户>权限多的组>权限少的组>其他 | |
acl mask 控制 | |
mask是能够赋予指定用户权限的最大阈值 | |
问题:当设定完毕文件的acl列表之后用chmod缩小了文件拥有组的权力mask值会发生变化 | |
setfacl -m m:权限 文件 | |
acl列表的默认权限 | |
setfacl -m u:lee:rwx /mnt/westosdir | 只对于/mnt/westosdir目录本身生效 |
setfacl -Rm u:lee:rwx /mnt/westosdir | 对于/mnt/westosdir目录和目录中已经存在的内容生效 |
以上命令只针对于存在的文件生效,新建文件是不会被设定的 | |
setfacl -m d:u:lee:rwx /mnt/westosdir | 针对于/mnt/westosdir目录中新建文件生效 |
八、attr权限
attr权限限制所有用户 | |
i | 不能做任何的更改 |
a | 能添加不能删除 |
lsattr dir | file | 查看attr权限 |
chattr +i | +a |-i |-a dir | file | 设定attr权限 |