H5W3
当前位置:H5W3 > 其他技术问题 > 正文

linux 文件的特殊root权限:suid sgift图d stricky

目录
  • 一.关于文件的特殊权限
  • 二.suid
  • 三.SGID
  • 四.Stickybit

一.关于文件的特殊权限

1.文件与目录设置不止基础权限:r,w,x,还有所谓的特殊权限。特殊权限会拥有一些“特权”。特殊权限为:suid sgid sticky

2.文件的特殊权限:suid sgid sticky

  • ​ SUID(set uid设置用户ID):限定:只能设置在二进制可执行程序上面。对目录设置无效。功能:程序运行时的权限从执行者变成程序所有者的权限
  • ​ SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置。功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组
  • ​ Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位

3.这3个特殊权限对应的数值为

SUID SGID Stickybit
u+s或u=4 g+s或g=2 o+t或o=1

二.suid

1.SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。使用”ls -l” 或者”ll” 命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的”s”,就表明该执行文件拥有SUID属性。比如/usr/bin/passwd文件

[elk@node5 ~]$ which passwd
/bin/passwd
[elk@node5 ~]$ whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz
[elk@node5 ~]$ ll /bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /bin/passwd
[elk@node5 ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

2.普通用户elk,没有对shadow文件写入的权限, 但是elk用户使用passwd修改自己密码时,可以修改shadow文件中的内容,这是什么原因?

[root@node5 ~]# ll /etc/shadow
----------. 1 root root 1179 9月  19 2017 /etc/shadow
[root@node5 ~]# su - mk
上一次登录:二 5月  8 21:07:24 CST 2018pts/0 上
[elk@node5 ~]$ passwd
[root@node5 ~]# vim /etc/shadow  #查看shadow文件已经被elk用户修改成功。

因为mk用户执行passwd命令时,权限会提升成root用户,所以可以修改成功。

3.给less命令添加suid权限

[elk@node5 ~]$ which less
/bin/less
[elk@node5 ~]$ ll /bin/less
-rwxr-xr-x. 1 root root 158240 Jul 31  2015 /bin/less
[elk@node5 ~]$ ll /etc/shadow
---------- 1 root root 1242 Oct 14 02:20 /etc/shadow
[elk@node5 ~]$ less /etc/shadow
/etc/shadow: Permission denied
[elk@node5 ~]$ exit
logout
[root@node5 ~]# chmod u+s /bin/less
[root@node5 ~]# su - elk
Last login: Thu Oct 15 11:39:37 CST 2020 on pts/3
[elk@node5 ~]$ less /etc/shadow
tss:!!:18341::::::
postgres:$6$W/xWXomt$Vry4J0aBsW4EyiMDW90kfzi45lAWKeYwBPBJzdiX3Yj1twH6zn7D9cG8PJXAMhcwTaIiuJNZxCtLFh/Ht6CwK/:18365::::::
esnode:$6$fznP2Oqd$02x2dTMV0kP5Ra780.sw.W06KZVl7ua8sA7QBMfEsYp0iUs1ukz.9H/iqYjToLLLa1TPSGWDC6a8yVJFZCVV5/:18378:0:99999:7:::
elk:$6$An7lKn2Q$dSuliu1h.Wn42GsrRwKPDS6bgEmTR8TlMsWMHIVWIEXOVbsKwvBcKDDNv.Mxki7aOwV8EBASQFAGQ9W.N/LeV.:18548:0:99999:7:::
logstash:$6$9yY5A65j$YzViQt8dC7mb9ID4my1x1o2dZX3ovQbTfsMr3f5UaJkt3THQRMOmt0pq2YIN0W.zlyU/hRlZe.9vocyFepTYl1:18548:0:99999:7:::
#执行less命令的时候,用户权限提升到了root权限
[root@node5 ~]# ps -ef | grep less
root      68019  67976  0 14:57 pts/3    00:00:00 less /etc/shadow
root      68034  58078  0 14:57 pts/5    00:00:00 grep --color=auto less
[elk@node5 ~]$ ll /bin/less
-rwsr-xr-x. 1 root root 158240 Jul 31  2015 /bin/less
[elk@node5 ~]$ exit
logout
[root@node5 ~]# chmod u-s /bin/less
[root@node5 ~]# ll /bin/less
-rwxr-xr-x. 1 root root 158240 Jul 31  2015 /bin/less
[root@node5 ~]# chmod 4755 /bin/less
[root@node5 ~]# ll /bin/less
-rwsr-xr-x. 1 root root 158240 Jul 31  2015 /bin/less
[root@node5 ~]# chmod u-s /bin/less
[root@node5 ~]# ll /bin/less
-rwxr-xr-x. 1 root root 158240 Jul 31  2015 /bin/less

另外:chmod 4755 /usr/bin/less # 等同于 chmod u+s /usr/bin/less

三.SGID

1.SGID既可以给二进制可执行程序设置,也可以给目录设置。
2.SGID的功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的权限。

[root@node5 ~]# mkdir ceshi
[root@node5 ~]# ll -d ceshi
drwxr-xr-x 2 root root 6 Oct 15 15:10 ceshi
[root@node5 ~]# chmod g+s ceshi
[root@node5 ~]# !ll
ll -d ceshi
drwxr-sr-x 2 root root 6 Oct 15 15:10 ceshi
[root@node5 ~]# chown :elk ceshi
[root@node5 ~]# !ll
ll -d ceshi
drwxr-sr-x 2 root elk 6 Oct 15 15:10 ceshi
[root@node5 ~]# touch ceshi/ceshi.txt
[root@node5 ~]# ll ceshi/ceshi.txt
-rw-r--r-- 1 root elk 0 Oct 15 15:12 ceshi/ceshi.txt

四.Stickybit

1.Stickybit只作用于目录。
2.Stickybit的功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。

3.Stickybit的用法:chmod o+t /tmp/test/

4.例: 系统中的tmp目录就是这样

[root@node5 ~]# ll -d /tmp
drwxrwxrwt. 10 root root 4096 Oct 15 10:12 /tmp

未经允许不得转载:H5W3 » linux 文件的特殊root权限:suid sgift图d stricky

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址