Linux_红帽8学习笔记分享_5
文章目录
- Linux_红帽8学习笔记分享_5
- 1. UMASK反掩码
- 1.1如何查看反掩码umask
- 1.2 UMASK反掩码的作用
- 1.2.1对于目录来说
- 1.2.2对于文件来说
- 1.3如何修改UMASK反掩码
- 1.4普通用户反掩码的测试
- 2.whereis的使用
- 3. SUID权限弥补(主要针对文件,所有者执行位变成了s或S)
- 3.1测试passwd
- 3.2 s和S的区别
- 4. SGID权限弥补(主要针对目录,组内成员的执行位变成了s)
- 5. STICK粘滞位(其他用户的执行位变成了t)
- 6. ACL(访问控制列表河以针对文件或目录)
- 6.1如何查看文件的ACL信息
- 6.2如何修改文件的ACL信息
- 6.3如何删除文件的ACL信息
- 6.4设置目录的ACL信息
- 6.5当复制或者移动一个具有ACL属性的文件或目录时
- 7.高级权限
1. UMASK反掩码
1.1如何查看反掩码umask
我们在root身份下输入umask,如下图所示,会发现它的默认值是0022。
我们创建一个新用户,使使用普通用户输入umask发现它的默认值是0002,如下图所示。
总结一下:root用户的反掩码0022;普通用户的反掩码0002
1.2 UMASK反掩码的作用
反掩码的作用是用来决定文件或者目录的缺省权限值的。
1.2.1对于目录来说
目录的缺省权限值=777-UMASK反掩码,例如:
如上图所示,在root身份下创建的目录,它的权限转化为十进制数就是755,并且755=777-022
如上图所示,在普通用户身份下创建的目录,它的权限转化为十进制数就是755,并且775=777-002
1.2.2对于文件来说
文件的缺省权限值=777-UMASK反掩码,例如:
如上图所示,在root身份下创建的文件,它的权限转化为十进制数就是644,并且644=777-022-111(111并不是绝对的,它的值遵循有X则减,无X则不变,对于所有者、组内、组外,如果它们有X权限,那么它就减1,如果没有X权限,则不进行减)
如上图所示,在普通用户身份下创建的文件,它的权限转化为十进制数就是664,并且664=777-002-111。
1.3如何修改UMASK反掩码
我们可以使用umask+要修改成为的反掩码,来修改,如下图所示
在使用反掩码来决定文件或目录的缺省权限值时,也会按照刚刚改变成为的反掩码来计算,对于创建文件时,它的缺省权限值同样遵循有X则减,无X则不变,具体如下图所示。
1.4普通用户反掩码的测试
我们尝试使用普通用户更改他的反掩码并进行创建目录和文件的操作具体如下图所示。
2.whereis的使用
他用来查询我们运行这条命令,他在Linux底层运行的是哪个命令脚本,例如:
passwd先找到的是/usr/bin下的passwd头文件
3. SUID权限弥补(主要针对文件,所有者执行位变成了s或S)
其中此处的U代表着所有者位,如果是G则代表着组内group位。SUID也叫临时的身份跳转(在你运行的时候临时跳转一下身份,运行完成后,回到原本的身份,会将风险降的很低。)
3.1测试passwd
如下图所示,passwd的第三位就是s,它针对这种敏感命令让它的运行风险降低到最低
如果我们将它的s改变成为x,如下图所示这个passwd将不会被执行成功。
经过更改后,你可以运行,但是运行不成功。我们要想要成功运行,我们需要将它改回来,如下图所示。
3.2 s和S的区别
s代表该执行位原先具有X的权限,S代表该执行位原先不具有X的权限。但是s和S作为权限弥补的功能二者是相同的,仅仅是表现形式和基础不一样。在经过Linux的chomd命令可以看出这些不同,如下图所示。
4. SGID权限弥补(主要针对目录,组内成员的执行位变成了s)
此处的G代表着组内group位,我们在serverb中的111目录下创建文件和子目录,查看其详细信息如下图所示。
![]](https://img-blog.csdnimg.cn/e3a82f4d95104afc919bbd094ce6d13d.png#pic_center)
我们对111目录的组内加上s属性,并再次创建文件和子目录,如下图所示。
SGID目录最大的一个区别,它在SGID类型目录中创建的对象,它的所属组会自动继承副目录的所属组(例题:在某一个位置创建一个目录,不管谁在这个目录下写新的对象,它的所属组必须是指定的group。解决方法:首先将这个目录的所属组使用chown命令改成指定的group,再使用chmod g+s命令把这个目录设置成SGID目录。)
5. STICK粘滞位(其他用户的执行位变成了t)
例如刚下的tmp目录就是个粘滞位目录,如下图所示。
同样的我们可以使用ls -ld来查看tmp目录的属性,如下图所示。
我们新建一个share文件夹,并且给予它全部权限,使用zhangsan用户在它里面创建zhangsan1.txt和zhangsan2.txt,具体如下图所示。
我们可以在chmod命令中使用-R参数,让其目录下的所有内容页给予满权限设置,具体如下图所示。
经过以上这些设置后,lis用户也可以将share文件夹中的文件进行删除,具体如下图所示。
我们如果想要让zhangsan用户创建的文件,仅能由管理员和zhangsan用户两个人进行删除操作,我们就要为权限的第九位改为t属性,即更改为粘滞位目录,具体操作如下图所示。
虽然zhangsan2.txt,它是满权限的,但是它上级目录已经被设置为粘滞位目录,这样lis用户就不能进对zhangsan用户创建的文件进行删除了,具体如下图所示。
同样实现的是zhangsan用户本身可以对它创建的文件进行删除,具体如下图所示。
6. ACL(访问控制列表河以针对文件或目录)
ACL就相当于特殊用户的特殊权限。
6.1如何查看文件的ACL信息
我们可以使用getfacl来查看ACL信息,具体如下图所示。
6.2如何修改文件的ACL信息
我们使用setfacl来修改ACL信息,具体操作如下图所示,我们可以看到在123.txt文件的9位权限后多了一个加号。
经过修改后,这个时候就可以用getfacl对这个文件进行查看,具体如下图所示, User:lis多了一个读写的权限。
接下来我们就可以使用lis用户来对这个文件进行编辑了,具体如下图所示。
接下来我们想让zhangsan用户对123.txt文件不能进行读的权限,我们对zhangsan用户使用setfacl来设置它特殊用户的特殊权限。同时可以用getfcal查看到多了一个user:zhangsan:—,具体如下图所示。
经过设置后,zhangsan用户就不能查看123.txt文件了,如下图所示。
要知道,我们可以为很多很多文件设置ACL信息,没有限制。
6.3如何删除文件的ACL信息
我们将参数改为-x,具体操作如下图所示。
即便是我们将所有的ACL信息删除掉了,但在123.txt文件的9位权限后面还是跟着+,具体如下图所示。
如果想要具体的去看还有没有ACL信息,我们就需要用getfacl仔细查看。当然我们也可以彻底一个文件或者目录的删除ACL信息,它能够将这个加号删掉,即使用chacl –B 目标对象这个命令,具体操作如下图所示。
6.4设置目录的ACL信息
我们在原先对文件设置的基础上加了d:,如下图所示。
同样我们使用getacl查看运行其信息,其中就多了一个user:lis:rwx,如下图所示。
参数d表示在/345目录中新建的文件或目录会自动继承/345目录的ACL信息值,具体如下图所示。
如上图所示,111.txt它的user中也有lis。
注意:ACL真正的效果仍然体现在对文件的操作上,即对文件修改时才能看出效果
6.5当复制或者移动一个具有ACL属性的文件或目录时
当移动一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是会移动的,具体操作如下图所示。
当复制一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是不会复制的,具体操作如下图所示。
如果想要在复制它的时候,把ACL属性复制过去,只有在cp命令后加上-p参数才可以,具体如下图所示。
7.高级权限
chmod 7777 111.txt,其中最左边的7是满SUID SGID STICK权限组成的,SUID SGID STICK每个权限各代表一个1,加起来总共是7。例如下图。
如果我们只设置SGID,则010转换成十进制数字就是2,具体操作如下图所示。
所以chmod 1777就是只设置了STICK;chmod 3777就是设置了SGID 和STICK;而之前学习的chmod 777其实就相当于chmod 0777。
以上就是本文全部内容,如果它对您有帮助,请您帮我点个赞,这对我真的很重要