关于上一章补充一点:
分析文件权限的时候不应该单独分析权限的文件
还有考虑该文件所在目录的权限,也就是要查看上级目录有没有相对应的权限
如果想让文件的权限生效,文件所在的目录(它的上级目录)至少要具备 可读和工作目录的权限 r-x
如何修改权限
- u 代表user_name
- g 代表group
- o 代表others
代码如下:
#chmod u=rwx,g+rwx,o-w /mnt/pratice/test1/f1
=就是把它设置成这种权限,+就是在原来的基础上加上别的权限,-就是在原来的基础上减去权限
-r:递归
也可以通过数字来修改
r=4
w=2
x=1
代码如下
#chmod -R 775 /mnt/pratice/test1/f1
7= r=4+w=2+x=1
第一个7代表user用户的所有的权限和
第二个7代表group的权限
5代表others的权限,也就是r+x
拥有者和所属组的修改:
chown
代码如下:
#chown -R test1 /mnt/pratice/test1/
drwx---r-x.2 test1 root 16 Aug 10 20:08 /mnt/pratice/test1
修改拥有者
#chgrp -R test1 /mnt/pratice/test1/
drwx---r-x.2 test1 test1 16 Aug 10 20:08 /mnt/pratice/test1
修改所属组
也可以一起修改
#chown -R root:root /mnt/pratice/test1
左边是所有者,右边是组 :隔开
管理默认权限和文件访问
passwd 这个命令修改的是/etc/shadow文件
普通用户可以修改自己的密码,但是shadow对于普通用户没有权限
这就涉及到suid了
suid:当一个二进制文件的x,设置一个s权限的时候,那么这个就叫suid
如果另外一个用户执行执行这个二进制文件,那么这个用户在执行期间会暂时获得这个二进制文件的拥有者权限
这个文件的特点:
-rwsr-xr-x. 1 root root 34512 Aug 12 2018 /usr/bin/passwd
拥有者权限的x换成了s
当普通用户执行passwd的时候,会获得root的权限来执行/etc/shadow
sgid:
当针对目录的时候,当在该目录下新建文件或者目录的时候,会继承这个目录的所属组
默认情况下是创建这个文件的用户的所属组
stick bit:
当一个目录被设置为t,也就是 rwt 的时候,那么在该目录下以及目录就只有两个人可以删除,一个是该文件的拥有者,一个是root
特殊属性:
#chattr +a f1
当一个文件被添加了a属性,文件内容能增加不能修改,文件本身不能删除
a:静态永远不变的文件,可以用在配置文件上面
i:文件内容不能修改,文件本身不能删除
默认属性:
当新建一个文件的时候,它的默认权限是什么
rw-r–r-- 644
当创建一个目录的时候,它的默认权限是
rwxr-xr-x 755
这个的原因是因为有umask=022
目录的满权限是777加上umask的话就是777-022=755
文件的默认满权限是666-022=644
umask的值可以修改
#umask 111
把umask的值修改为111
数字不能随便改,只能是 4,2,1