linux特殊权限(suid、sgid、sbit)

一.linux特殊权限介绍

特殊权限
在linux系统中,除了r读w写x执行权限外,还存在其他的权限;下图中在权限位置上有不同的字母
在这里插入图片描述

二.suid

1.介绍suid之前需要了解一些问题

  • 普通用户是否可以修改密码
    可以修改自己密码

  • /etc/shadow文件的作用是什么
    存储用户密码的文件

  • /etc/shadow文件的权限是什么
    在这里插入图片描述

  • 普通用户是否可以修改/etc/shadow文件
    不可以修改,没有任何权限

  • 为什么普通用户可以修改密码

  1. 使用了passwd命令
  2. passwd在x权限位上有s权限
  3. 在使用有suid权限的文件或者命令时,会以该文件的属主身份去执行该命令

2.suid作用详解

概念:命令文件的x权限位变为s,那么其他用户执行命令文件时,就会以该命令文件的属主用户去执行
如果属主权限位上有x,则会显示小s
如果属主权限位上没有x,则会显示大S
实例:
设置suid,普通用户可以正常修改自己的密码,取消suid,普通账户无法修改自己的密码

[root@localhost ~]# useradd tdm  #创建用户tdm
[root@localhost ~]# passwd tdm   #设置密码
Changing password for user tdm.
New password: 
BAD PASSWORD: The password is shorter than 7 characters
Retype new password: 
passwd: all authentication tokens updated successfully.   #设置密码成功
[root@localhost ~]# su - tdm   #切换用户tdm
Last login: Mon Jun  5 11:21:29 CST 2023 on pts/0
[tdm@localhost ~]$ passwd    #修改密码
Changing password for user tdm.
Changing password for tdm.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.  #修改密码成功
[tdm@localhost ~]$ exit    #退出登录
logout
[root@localhost ~]# chmod u-s  /bin/passwd    #修改passwd权限,取消suid权限
[root@localhost ~]# ll  /bin/passwd     #查看命令文件权限
-rwxr-xr-x. 1 root root 27832 Jun 10  2014 /bin/passwd    #s变成了x
[root@localhost ~]# su - tdm    #再次切换tdm账户
Last login: Mon Jun  5 11:24:54 CST 2023 on pts/0
[tdm@localhost ~]$ passwd    #修改密码
Changing password for user tdm.
Changing password for tdm.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: Authentication token manipulation error  #密码修改失败

问题:如果普通用户在使用passwd命令时,是以root的身份去执行的,普通用户是否能修改其他账户的密码
无法修改,只有root在使用passwd命令时后面可以接用户名称,其他账号不可以。

[tdm@localhost ~]$ passwd test    #tdm想修改test的密码
passwd: Only root can specify a user name.    #只用root账户后面才能接用户名称

3.授权、撤销suid权限

授权格式:
chmod u+s 文件名称
chmod 4xxx 文件名称
撤销格式:
chmod u-s 文件名称
chmod 0xxx 文件名称

[root@localhost ~]# touch test.txt    #创建文件
[root@localhost ~]# ll test.txt     #查看文件属性
-rw-r--r--. 1 root root 0 Jun  5 11:37 test.txt
[root@localhost ~]# chmod u+s test.txt     #授权suid属性
[root@localhost ~]# ll test.txt 
-rwSr--r--. 1 root root 0 Jun  5 11:37 test.txt    #文件具有suid属性
[root@localhost ~]# chmod u-s  test.txt    #文件取消suid属性
[root@localhost ~]# ll test.txt 
-rw-r--r--. 1 root root 0 Jun  5 11:37 test.txt    #文件取消suid属性
[root@localhost ~]# chmod 4644 test.txt     #授权suid属性
[root@localhost ~]# ll test.txt 
-rwSr--r--. 1 root root 0 Jun  5 11:37 test.txt    #文件具有suid属性
[root@localhost ~]# chmod 0644 test.txt     #文件取消suid属性
[root@localhost ~]# ll test.txt 
-rw-r--r--. 1 root root 0 Jun  5 11:37 test.txt    #文件取消suid属性

三.sgid

1.sgid作用详解

概念:一般情况下是设置给目录使用的,主要目的是让彼得用户无法删除其他用户所创建的文件或目录
如果属主权限位上有x,则会显示小s
如果属主权限位上没有x,则会显示大S
实例:
给目录设置了sgid权限,在该目录下创建的文件或者目录的属组都与该目录一致

[root@localhost opt]# mkdir abc    #创建目录abc
[root@localhost opt]# ll
total 0
drwxr-xr-x. 2 root root 6 Jun  5 13:18 abc
[root@localhost opt]# chmod  777  abc    #授予abc权限
[root@localhost opt]# ll
total 0
drwxrwxrwx. 2 root root 6 Jun  5 13:18 abc
[root@localhost opt]# su - tdm    #切换用户
Last login: Mon Jun  5 13:15:58 CST 2023 on pts/0
[tdm@localhost ~]$ cd  /opt/abc
[tdm@localhost abc]$ touch  test.txt    #创建test文件
[tdm@localhost abc]$ ll
total 0
-rw-rw-r--. 1 tdm tdm 0 Jun  5 13:18 test.txt    #查看文件的属主属组,都是tdm
[root@localhost opt]# exit    #退出tdm账户
logout
[root@localhost opt]# chmod g+s abc/    #给目录abc授予sgid权限
[root@localhost opt]# ll
total 0
drwxrwsrwx. 2 root root 22 Jun  5 13:18 abc    #目录具有sgid权限
[root@localhost opt]# su  tdm
[tdm@localhost opt]$ ll
total 0
drwxrwsrwx. 2 root root 22 Jun  5 13:18 abc
[tdm@localhost opt]$ cd abc
[tdm@localhost abc]$ touch test1.txt    #创建test1.txt文件
[tdm@localhost abc]$ ll
total 0
-rw-rw-r--. 1 tdm root 0 Jun  5 13:21 test1.txt    #该文件的属组跟随目录的属组是root
-rw-rw-r--. 1 tdm tdm  0 Jun  5 13:18 test.txt

2.授权、撤销sgid权限

授权格式:
chmod u+s 文件名称
chmod 2xxx 文件名称
撤销格式:
chmod u-s 文件名称
chmod 0xxx 文件名称

四.sbit

1.sticky bit 详解

如果属主权限位上有x,则会显示小t

如果属主权限位上没有x,则会显示大T

只作用在目录上,当一个目录没有设置sticky bit权限时,并且该目录对所有的用户都有读写执行权限时,普通用户在该目录下创建的文件或目录都会被其他用户删除

[root@localhost opt]# ll
total 0
drwxrwxrwx. 2 root root 6 Jun  5 13:30 abc    #当前目录对所有用户都有读写执行权限
[root@localhost opt]# su test    #切换至test账户
[test@localhost opt]$ ll
total 0
drwxrwsrwx. 2 root root 39 Jun  5 13:21 abc
[test@localhost opt]$ cd abc
[test@localhost abc]$ ll
total 0
-rw-rw-r--. 1 tdm root 0 Jun  5 13:21 test1.txt
-rw-rw-r--. 1 tdm tdm  0 Jun  5 13:18 test.txt
[test@localhost abc]$ rm -f test1.txt     #删除test1文件
[test@localhost abc]$ rm -f test.txt     #删除test文件
[test@localhost abc]$ ll    #目录为空,文件已被删除
total 0

当一个目录设置了sticky bit权限时,普通用户在该目录下所创建的文件或目录,只能被该文件或目录的属主用户或者root删除,其他用户无法删除彼得用户所创建的文件或者目录

drwxrwxrwx. 2 root root 6 Jun  5 13:30 abc
[root@localhost opt]# chmod o+t abc    #给目录授予sbit权限
[root@localhost opt]# ll
total 0
drwxrwxrwt. 2 root root 6 Jun  5 13:30 abc
[root@localhost opt]# su test    #切换test账户
[test@localhost opt]$ cd abc
[test@localhost abc]$ touch test.txt    #创建文件
[test@localhost abc]$ ll
total 0
-rw-rw-r--. 1 test test 0 Jun  5 13:47 test.txt
[test@localhost abc]$ exit
exit
[root@localhost opt]# su tdm    #切换tdm账户
[tdm@localhost opt]$ cd abc
[tdm@localhost abc]$ ll
total 0
-rw-rw-r--. 1 test test 0 Jun  5 13:47 test.txt
[tdm@localhost abc]$ rm -f  test.txt     #tdm账户删除test文件
rm: cannot remove ‘test.txt’: Operation not permitted    #操作不允许

2.授权、撤销sbit权限

授权格式:
chmod u+t 文件名称
chmod 1xxx 文件名称
撤销格式:
chmod u-t 文件名称
chmod 0xxx 文件名称

五.总结

SUID: user - 占据属主的执行权限位
s: 属主拥有 x 权限
S:属主没有 x 权限
SGID: group - 占据 group 的执行权限位
s: group 拥有 x 权限
S:group 没有 x 权限
Sticky: other - 占据 ohter 的执行权限位
t: other 拥有 x 权限
T:other 没有 x 权限

类别suidsgidsbit
字符表示SST
出现位置用户权限位x用户组权限位x其他用户权限位x
基本权限位sst
数字表示法421
八进制表示法400020001000
生效对象用户位用户组其他用户

参考:https://blog.csdn.net/m0_57515995/article/details/124817049

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RE浏览器(Root Explorer)是一款安卓手机专用的文件管理器,在获取系统ROOT权限后能对系统里的任何文件进行操作,能够轻而易举的删除手机系统程序和删不掉的程序,也可以作为普通的文件管理软件使用。 RootExplorer需要ROOT权限,新建文件夹,查看/编辑文件,软件安装,RootExplorer具备普通文件管理器的各项基本功能,另外还 添加了搜索功能,在手机上找东西变得更加方便。此外,RootExplorer最大的特点在于它能够删除手机中自带的应用程序,如 GOOGLEMAP,CONTACTS,MARKET,GTALK等等。 RE浏览器(Root Explorer)功能说明 - 三种列表视图方式:简洁列表、详细列表、图标,多选文件管理:复制、移动、删除 - 五种文件排序方式:名称升序/降序、日期升序/降序、大小升序/降序、类型 - 更改文件和文件夹的所有者/用户组,创建文件/文件夹的主屏幕快捷方式 - 创建文件/文件夹的符号链接(Symlinks)挂载系统分区的只读/读写权限 - 书签和首页功能:将某个目录设为书签或首页,方便快速打开文件夹 - 查看SQLite数据库文件,计算文件的MD5值,查看文件的MIME类型 - 设置文件和文件夹的读/写/执行权限特殊权限SUID/SGID/SBIT) - 删除系统自带应用,对系统文件进行操作,查看和编辑文本文件 - 常用的文件管理功能,完全可自定义的列表图标,多标签页管理 - 查看/解压/创建Zip/Tar/Gzip文件,以及查看和解压RAR文件 - 显示图像缩略图,显示APK文件的图标,快速搜索文件 - 网络(SMB)、Google云端硬盘、Box、Dropbox支持 - 可在后台同时处理多个操作,显示隐藏文件和文件夹 - 设置特定文件类型的打开方式(相当于文件关联) RE浏览器(Root Explorer)更新内容 增加 xxhdpi 和 xxxhdpi 分辨率图标支持。 添加外置 SD 卡时,增加对 64 GB exFAT SD卡的识别。 修正Box网盘中反复出现的身份验证请求。 修正在Android 4.4上搜索内部存储时的问题。 修正默认外部 SD 卡路径。这个问题可能导致部分设备复制文件时出错。 修正使用RE管理器来选择文件上传到 web 站点不是立即启动。 RE浏览器(Root Explorer)截图

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值