Linux 特殊权限

Linux 有三个高级权限suid,sgid,sticky。

 

1、suid

suid 属性只能运用在可执行文件上,含义是开放文件所有者的权限给其他用户,即当用户执行该执行文件时,会拥有该执行文件所有者的权限。如果给一个非二进制文件文件附加suid权限,则会显示大写S,属于无效。

latiny 用户能够执行passwd 命令修改自己的密码,修改密码其实就是修改/etc/shadow 这个文件,查看/etc/passwd这个文件的权限,发现除了root其他人没有写权限,但是latiny用户能够成功执行passwd,其原因就在于passwd这个命令的权限是rwsrw----,其中's'的作用就是让执行命令的人具有和该命令拥有者相同的权限

[root@localhost latiny]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

添加权限命令:

chmod u+s file

chmod 4765 file

 

2、sgid

sgid 属性可运用于文件或者目录,运用在文件的含义是开放文件所属组的权限给其他用户,即当用户执行该执行文件时,会拥有该执行文件所属组用户的权限。如果给一个非二进制文件文件附加sgid权限,则会显示大写S,属于无效。

运用在目录上的含义是,在该目录下所有用户创建的文件或者目录的所属组都和其一样。即如果/home/latiny目录具有sgid权限,且所属组是latiny,则任何用户在/home/latiny下创建的子目录或者文件的所属组都是latiny。

添加权限命令:

chmod g+s directory

chmod 2765 directory

 

3、sticky

sticky 权限只能运用于目录上,含义是该目录下所有的文件和子目录只能由所属者删除,即使其的权限是777或者其他。一个公共目录,每个人都可以创建文件,删除自己的文件,但不能删除别人的文件(仅对目录有效)。

添加权限命令:

chmod o+t directory

chmod 1765 directory

posted @   Latiny  阅读(3849)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示