linux 用户权限 SUID、SGID、SBIT...

àì夳堔傛蜴生んèń 2022-05-15 04:59 261阅读 0赞

Linux的特殊权限和应用


  • SUID:作用于用户

当文件设置了setuid位后,任何能够执行此文档的用户都有与文件属主相同的权限,即使得任意使用者在执行该文件时,都绑定了文件属主的权限。例如,某个程序为root拥有,又设置了setuid位,那即使是一个普通用户运行该程序,该程序的身份一样是root的身份,可以访问所有只有root可以访问的资源,设置setuid位的程序曾是被攻击的对象。setuid位典型的应用是/usr/bin/passwd,查看该文件权限显示-rwsr-xr-x,这里的s表示设置了setuid位且该文件可由文件属主执行,如果一般用户执行该文件,则在执行过程中可以获得root权限,从而更改用户密码。大写S表示文件本来没有可执行权限并且设置了setuid位

  1. 查看SetUID权限:占用原先“所有者”的x权限位。 rws r-x r-x
  2. 小写s: 表示原先是具有x权限的
  3. 大写S:标识原先没有x权限
  4. chmod u+s u-s /file1
  5. [root@deng-120 /etc]# chmod u+s passwd
  6. [root@deng-120 /etc]# ll passwd
  7. -rwsr--r-- 1 root root 6764 8 17 18:33 passwd
  • SGID:作用于所属组
  1. 查看SetUID权限:占用原先“所有者”的x权限位。 rwx r-s r-x
  2. 小写s: 表示原先是具有x权限的
  3. 大写S:标识原先没有x权限
  4. chmod g+s g-s /file1
  5. 作用:继承属性用户组的属性
  6. [root@deng-120 ~]# mkdir aa #创建 aa 的文件夹
  7. [root@deng-120 ~]# ls
  8. drwxr-xr-x 2 root root 6 8 24 23:04 aa #最原始没有 s 的权限,所属组为 root
  9. [root@deng-120 ~]# chgrp rosen aa/ #更改所属组为 rosen
  10. [root@deng-120 ~]# chmod g+s aa/ #给 aa 加上 s 权限
  11. [root@deng-120 ~]# ll
  12. drwxr-sr-x 2 root rosen 6 8 24 23:04 aa #拥有 s 权限
  13. [root@deng-120 ~/aa]# touch abc #在aa下创建文件都会继承 aa 文件夹的所属组
  14. [root@deng-120 ~/aa]# ll
  15. -rw-r--r-- 1 root rosen 0 8 24 23:10 abc

当s权限作用于组的时候,就会起到对应的继承父文件的属性

  • Sticky:粘滞位。作用于其他人,只有自己才能删除自己的文件(root除外)
  1. t 权限 :一般用于目录,用于公共的目录。 权限为777的目录
  2. t 占用 x权限的位置
  3. 小写t:表示原先是具有x权限
  4. 大写T:标识原先是不具有x权限
  5. [root@deng-120 ~]# chmod 777 aa/ #777权限任何人都可以aa文件夹对里面的文件进行创建删除和修改
  6. [root@deng-120 ~]# ll
  7. drwxrwsrwx 2 root rosen 17 8 24 23:10 aa
  8. [root@deng-120 ~]# chmod o+t aa/ #给aa文件夹加上 t 权限
  9. [root@deng-120 ~]# ll
  10. drwxrwsrwt 2 root rosen 17 8 24 23:10 aa
  11. #拥有t权限的文件夹,其他普通用户在aa目录下职能对自己创的文件进行删除,对其他文件可以修改但是不能执行删除的操作

如何设置特殊权限

  1. chmod u+s xxx # 设置setuid权限
  2. chmod g+s xxx # 设置setgid权限
  3. chmod o+t xxx # 设置stick bit权限,针对目录
  4. chmod 4775 xxx # 设置setuid权限
  5. chmod 2775 xxx # 设置setgid权限
  6. chmod 1775 xxx # 设置stick bit权限,针对目录

注意:有时你设置了s或t 权限,你会发现它变成了S或T,这是因为在那个位置上你没有给它x(可执行)的权限,这样的话这样的设置是不会有效的,你可以先给它赋上x的权限,然后再给s或t 的权限

特殊权限对我i们linux的文件或者对用户的限制起到了良好的作用,这样更有利于我们的管理维护~~~

发表评论

表情:
评论列表 (有 0 条评论,261人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux用户权限

    目录 1、root用户(超级管理员) su和exit命令 sudo命令 2、用户和用户组管理 用户组管理 用户管理 getent命令 3、查看权限控制信息 4

    相关 linux用户权限操作

    用户权限 1) 查看当前用户:whoami  1. 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。 2. 在Unix/Linux系