【译】Sticky Bits, UID's and GID's
阅读目录
译自: Sticky Bits, UID's and GID's
Sticky Bits, UID's and GID's
文件权限中的特殊设置-如何理解和管理它们
Understanding File Permissions
How do I use chmod to manage file permissions?
Sticky Bits, UID's and GID's
概述
您可以使用3位数字表示任何文件许可权值,或使用chmod对其进行管理。 但是,实际上,您可以使用4位数字来达到相同的结果,例如777等于0777,依此类推。 这个附加的八进制值代表一些特殊功能,称为“粘滞位”,“ UID” 和 “GID”。
了解特殊的八进制值
在常规文件权限内,未设置特殊选项。 范围从0到7的八进制值表示用于读取,写入和执行文件等的选项。 但是,如上所述,当使用此附加八进制时,值(仍在0-7范围内)表示以下选项:
特殊选项八进制分解备忘单 0 - No options set |
其分别代表的8进制数值为:
SUID:4 SGID:2 Sticky Bit: 1 |
什么是粘性位?
粘滞位是文件权限中的一种特殊设置,有助于限制访问权限,超出普通文件权限所能提供的范围。 简而言之,粘滞位可确保只有文件/目录的所有者才能删除或重命名文件。 但是,应注意,root用户也可以编辑和删除文件。
如何设置粘性位
在很大程度上,使用chmod时,设置“粘滞位”就像任何普通文件权限一样。 例如,通常,如果您想将文件设置为777权限,则可以执行以下操作。
通常更改权限 $ chmod 777 myfile.txt Confirming the change using ls -l output being: |
为了使用粘滞位将文件更改为具有777的相同权限,可以使用八进制1777,如下所示:
粘滞位更改权限 $ chmod 1777 myfile.txt Confirming the change using ls -l output being: |
注意不同之处,其中777的常规文件许可权的符号值为“ -rwxrwxrwx”,而带有“粘滞位”的则为“ -rwxrwxrwxt”。 粘滞位在其符号值的末尾附加了“ t”。 该字母“ t”表示已设置“粘性位”。
检测粘滞位
运行ls -l 命令查看文件权限 $ ls –l |
请注意输出,对于文件和目录,其文件许可权的符号值分别为 -rwxrwxrwxt 和 drwxrwxrwxt。 如上所述,权限符号值上的附加字母 “t” 表示已设置“粘滞位”。
什么是SGID|SUID
在某些情况下,用户需要执行或操作文件或程序,因此需要提升的特权。 在这种情况下,可以设置SUID或SGID,以提供执行所需的权限。 SETUID或SETGID二进制文件分别在有关文档中执行命令的同时执行。 通常,在用户需要提升的权限并且没有管理员或root用户访问权限的情况下,需要SUID或SGID。
设置和检测SGID
$ chmod 2777 myfile.txt Confirming the change using ls -l output being: |
请注意,符号许可权值为 -rwxrwsrwx,第二个三元组 “rws” 从该名称后附加一个 “s” 而不是一个 “x”。 字母 “s” 表示已为相关文件或目录设置了SGID。
设置和检测SUID
$ chmod 4777 myfile.txt Confirming the change using ls -l output being: |
请注意,符号许可权值为 -rwsrwxrwx,在第一个三元组 “rws” 的后面附加了 “s” 而不是 “x”。 该字母 “s” 表示已为所讨论的文件或目录设置了SUID。
为什么有大写字母?
在某些文件权限内,在某些情况下,您可能会看到大写字母“ S”或“ T”代替普通的小写字母。 以下是这些情况,参考文献及其含义的细分:
-属主权限三元组大写 S 例如,许可4236在其符号值 "--wS-wxrw-" 内包含一个大写 "S" 。 这表示已设置 SUID,但是属主没有执行权限。 - 属组权限三元组大写 S 例如,许可2767在其符号值 "-rwxrwSrwx" 内包含一个大写 "S"。 这表示已设置了 SGID,但是属组没有执行权限。 - 大写 T 大写字母 T 表示已设置 "粘滞位",但是其他组没有执行权限。 有关示例,请参见许可权1774,其符号值为 "-rwxrwxr-T "。 |
-------------------------------------------
个性签名:如果世上的事都按你说的道理走 世界就不是现在这样了!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架