【Linux基础知识】CentOS7文件的安全位和粘贴位

发布 : Linux培训      来源:Linux干货资料

2021-02-09 15:29:05

在Linux系统中可以给所属者权限u或所属组权限g增加安全位,即u+s或g+s,并且安全位只能加给某个程序。安全位的作用是当用户运行该程序时,程序会以此文件的所属者或所属组设置的权限来运行,相对于运行程序时当前用户变成该文件所属者或所属组中的用户。

参考如下实验,以root用户在/mnt目录中创建f1空文件,将“aaaaaa”字符串添加到f1文件中,给cat命令的执行程序增加用户安全位,即chmod u+s /usr/bin/cat,用户zhang使用cat命令访问f1时,以f1的所属者身份访问,但是如果使用head、tail、more等命令读取f1时,f1仍拒绝被访问。相应操作步骤如下所示:

  1. [root@jump ~]# whoami
  2. root
  3. [root@jump ~]# cd /mnt
  4. [root@jump mnt]# touch f1
  5. [root@jump mnt]# echo aaaaaa>f1
  6. [root@jump mnt]# chmod 600 f1
  7. [root@jump mnt]# chmod u+s /usr/bin/cat
  8. [root@jump mnt]# su - zhang
  9. Last login: Mon Jan 18 09:54:30 CST 2021 on pts/0
  10. [zhang@jump ~]$ cat /mnt/f1
  11. aaaaaa
  12. [zhang@jump ~]$ head /mnt/f1
  13. head: cannot open ‘/mnt/f1’ for reading: Permission denied
  14. [zhang@jump ~]$ tail /mnt/f1
  15. tail: cannot open ‘/mnt/f1’ for reading: Permission denied
  16. [zhang@jump ~]$ more /mnt/f1
  17. /mnt/f1: Permission denied

再使用ll /usr/bin/cat命令查看cat命令的权限信息,会发现cat命令权限信息中的安全位“s”显示在原先x权限的位置,参见如下操作。通常x为大写则说明命令程序之前无x权限,为小写则说明该文件之前有x权限。

  1. [zhang@jump ~]$ ll /usr/bin/cat
  2. -rwsr-xr-x 1 root root 54080 Nov 17 06:24 /usr/bin/cat
  3. [zhang@jump ~]$

类似地,如果给cat命令的执行程序增加了组安全位,即chmod g+s /usr/bin/cat,则使用cat命令访问f1时,以f1的属组身份访问。

【Linux基础知识】CentOS7文件的安全位和粘贴位

粘贴位又称粘连位。若以用户的身份进入系统,在某目录下创建了自己的目录和文件,则当其他用户也进入系统时,若权限允许,可以删除原先创建的文件,如下相关操作,root用户给予/mnt目录其他用户写权限,切换zhang用户在/mnt目录中创建f1文件和d1目录,然后切换到wang用户,发现其可以将zhang用户创建的f1文件和d1目录删掉。

  1. [root@jump ~]# whoami
  2. root
  3. [root@jump ~]# chmod o+w /mnt
  4. [root@jump ~]# ll -d /mnt
  5. drwxr-xrwx. 3 root root 28 Jan 18 09:51 /mnt
  6. [root@jump ~]# su - zhang
  7. Last login: Mon Jan 18 09:56:46 CST 2021 on pts/0
  8. [zhang@jump ~]$ cd /mnt
  9. [zhang@jump mnt]$ mkdir dd
  10. [zhang@jump mnt]$ touch f1
  11. [zhang@jump mnt]$ exit
  12. logout
  13. [root@jump ~]# su - wang
  14. [wang@jump ~]$ cd /mnt
  15. [wang@jump mnt]$ ls
  16. dd f1 hgfs
  17. [wang@jump mnt]$ rm -rf dd f1
  18. [wang@jump mnt]$ ls
  19. hgfs

因此为了保护用户的个人资料,可以使用增加目录粘贴位的方式加以保护,给其他用户权限o增加粘贴位,即o+t,增加了粘贴位的目录,内容只有创建者有权删除。

首先给/mnt的其他用户权限o增加了t权限,使用ll -d /mnt命令只显示/mnt目录的信息,不显示/mnt目录下内容的信息。再以用户zhang的身份进入/mnt中,创建目录和文件,此时切换到用户wang下,给/mnt增加了粘贴位后,用户zhang所创建的目录及文件,用户wang无权删除。相关操作如下所示:

  1. [root@jump ~]# chmod o+t /mnt
  2. [root@jump ~]# ll -d /mnt
  3. drwxr-xrwt. 3 root root 18 Jan 18 10:07 /mnt
  4. [root@jump ~]# su - zhang
  5. Last login: Mon Jan 18 10:18:21 CST 2021 on pts/0
  6. [zhang@jump ~]$ cd /mnt
  7. [zhang@jump mnt]$ touch f1
  8. [zhang@jump mnt]$ mkdir d1
  9. [zhang@jump mnt]$ exit
  10. logout
  11. [root@jump ~]# su - wang
  12. Last login: Mon Jan 18 10:18:32 CST 2021 on pts/0
  13. [wang@jump ~]$ cd /mnt
  14. [wang@jump mnt]$ rmdir d1
  15. rmdir: failed to remove ‘d1’: Operation not permitted
  16. [wang@jump mnt]$ rm -f f1
  17. rm: cannot remove ‘f1’: Operation not permitted
  18. [wang@jump mnt]$ ls -l
  19. total 0
  20. drwxrwxr-x 2 zhang zhang 6 Jan 18 10:20 d1
  21. -rw-rw-r-- 1 zhang zhang 0 Jan 18 10:20 f1
  22. drwxr-xr-x 2 root root 6 Dec 28 13:40 hgfs

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部