Linux特殊权限

文章介绍了Linux文件系统的三种特殊权限:SUID、SETGID和Sticky。SUID允许执行文件的用户临时获得文件所有者的权限,如用于修改密码的/bin/passwd。SETGID则确保在设定目录下新创建的文件继承目录的属组。Sticky权限限制了目录中文件的删除,仅允许文件所有者或root删除。这些权限通过chmod命令进行设置和管理,对系统安全和权限控制至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特殊权限

概述

linux文件的三种特殊权限分别是:suid权限、sgid权限、sticky权限;其中suid权限作用于文件属主,sgid权限作用于属组上,sticky权限作用于other其他上。

SET UID

应用于可执行的普通文件,当一个文件被设置SET UID特殊权限时,任何人一旦执行该文件,将临时拥有该文件拥有人的权限。

例如:/etc/shadow的权限所有人都无读、写、执行权限。在拥有者的权限列的执行权限位置,如果是s或者S,则该文件被设置了SET UID权限。如:ls -l /bin/passwd可以看到s权限。chmod u-s /bin/passwd则所有用户都不能修改密码。/etc/shadow所有用户都没有任何权限,只有root用户可以修改,/bin/passwd属主是root,其他用户再执行时临时拥有root用户的权限就可以修改密码。

suid权限也可以使用数字形式表示,0表示去除suid权限,4表示添加suid权限,而且是在原权限的数字表达形式开头加04,如:0755移除suid权限,4755添加suid权限。

SET GID

SET GID特殊权限应用于目录文件,当一个目录设置SET GID特殊权限时,任何用户都可以在该目录下创建文件,文件的所属组都被设置为SET GID的那个所属组。

例如:

1)目录dir1属主zk,属组zkchmod g+s dir1

  1. 使用用户hcj,属组是hcj,在dir1hcjtouch 1.txt,则1.txt的属组是zk而不是hcj

Sticky(粘置位)

针对有写权限的目录设置的特殊权限位,当一个有写权限的目录被设置sticky权限,那么任何人再该目录下创建的文件,就只有文件拥有者和root用户可以删除。该特殊权限位,控制了目录的写权限。

对于目录的写权限来说,该权限有点太大了,sticky就是用来显示该权限。如果其他人的执行权限位,是t或者T,则该目录被设置了sticky权限。

特殊权限设置时,执行权限被覆盖,如果是小写,则没有执行权限,如果是大写,则有执行权限。

示例

/tmp使用的sticky权限,以实现所有用户都可以写入,并且只有自己和root可以修改

chmod +t mydir 给mydir设置sticky权限

chmod -t mydir 给mydir去除sticky权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值