Linux基础-特殊权限位
Linux 有三个高级权限suid,sgid,sticky,具体说明如下:
特殊权限 也是三位构成,分别值为4,2,1 1.第一位suid,大白话:设置后如关键的命令 init 0(关机)普通用户也可以执行了,任何用户执行命令都会按照所有者权限执行. 2.第二位sgid,大白话:设置后,在目录下建立文件,不管你是那个用户,都会按照此目录的父目录所属组,给分配组. 3.第三位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
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
转: https://www.cnblogs.com/alex765/p/16016391.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
2020-07-25 小程序ocr通过二进制上传识别出错openapi.ocr.vehicleLicense:fail media data missing