Linux的 SUID和SGID,图示!

本文通过简洁易懂的图片说明解释了Linux中SUID和SGID权限的作用及使用方法,帮助读者快速掌握这两个特性。

看到网上有些文章介绍linux的SUID和SGID用法,篇幅显得有些冗长而不宜读。做一个图片的说明以便加深理解。

 

### SUID SGID 的作用 SUID(Set User ID)是一种特殊的文件权限设置,允许普通用户在执行设置了 SUID 位的程序时,拥有该程序所属用户(通常是 root)的身份权限。这种权限仅在程序执行过程中有效,并且只能应用于二进制命令或程序,不能用于脚本文件。SUID 的设置会在用户权限的执行位上显示为 `s` 或 `S`,如果该位置上没有可执行权限,则会显示为 `S`。SUID 的主要作用是让普通用户在特定情况下获得更高的权限,以完成某些需要管理员权限的任务,例如修改密码。然而,SUID 也存在一定的安全隐患,因此在实际使用中建议谨慎使用,推荐使用 `sudo` 替代。 SGID(Set Group ID)与 SUID 类似,不同之处在于 SGID 使执行者获得程序所属用户组的身份权限。SGID 不仅可以应用于文件,还可以应用于目录。对于文件而言,SGID 的设置会在用户组权限的执行位上显示为 `s` 或 `S`。SGID 的一个常见应用场景是 `locate` 命令,它通过读取 `/var/lib/mlocate/mlocate.db` 文件来查询文件位置,而该文件对其他用户的权限是 `---`,但由于设置了 SGID,其他用户仍然可以使用 `locate` 命令。 ### SUID SGID 的设置与去除 SUID SGID 可以通过数字或字母形式进行设置去除。使用数字形式时,0 表示去除权限,4 表示添加权限。例如,去除 SUID 权限可以使用命令 `chmod 0755 /usr/bin/passwd`,而添加 SUID 权限则使用 `chmod 4755 /usr/bin/passwd`。同样地,SGID 的设置去除也可以使用类似的命令。 ### 示例代码 以下是一些示例命令,展示了如何查看修改 SUID SGID 权限: ```bash # 查看 passwd 命令的权限 ll /bin/passwd # 去除 SUID 权限 chmod 0755 /usr/bin/passwd # 添加 SUID 权限 chmod 4755 /usr/bin/passwd # 查看修改后的权限 ll /usr/bin/passwd ``` ### 相关问题 1. 如何在 Linux 中设置粘滞位(Sticky Bit)? 2. SUID SGID 对系统安全有哪些潜在威胁? 3. 为什么推荐使用 `sudo` 而不是 SUID? 4. 在什么情况下需要使用 SGID 而不是 SUID? 5. 如何检查文件或目录是否设置了 SUIDSGID
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值