心路历程-Linux的特殊权限

今天抓紧时间来整理一下这个特殊权限的笔记;

Linux权限,除了常见的rwx权限以外,其实还有一些特殊的权限;

上面我们接触umask的时候,不知道有没有发现:当你输入umask命令的时候,出来的结果是0022?

有没有考虑过为何会出现0022?应该来说是022才对?

其实这里就说明了,其实除了常规权限来说,Linux其实还有特殊权限的;

那么我们今天就来学习一下特殊权限;

Linux权限中有三个特殊权限:一个是suid权限、一个是sgid权限,一个就是sticky权限

用表格的形式来说明一下:

权限 对文件的影响 对目录的影响
Suid 以文件的所属用户身份执行,而非执行文件的用户
sgid 以文件所属组身份去执行 在该目录中创建任意新文件的所属组与该目录的所属组相同
sticky 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件

设置特殊权限的方法方式:

  • 设置suid权限:chmod u+s + 文件名
  • 设置sgid权限:chmod g+s + 文件名
  • 设置sticky权限:chmod o+t + 文件名

设置也是一样,也有数字的方法方式:

  • suid=4
  • sgid=2
  • sticky=1

以下我们就分别列举一下命令操作来说明一下这三个特殊权限吧;

Suid权限

SUID:对二进制程序进行设置,让二进制程序的执行者临时拥有属主的权限;

shell 复制代码
#系统中拥有Suid权限的命令
[root@OpenEuler-180 liangjiawei]# ll /bin/passwd
-rwsr-xr-x. 1 root root 30944 May 19  2024 /bin/passwd
	#用户为什么能够写入/etc/shadow文件?
[root@OpenEuler-180 liangjiawei]# ll /etc/shadow
----------. 1 root root 1414 May 11 21:39 /etc/shadow
	#原因就是passwd拥有suid权限

#如果给vim提交SUID权限
	#正常普通用户是无法编辑/etc/shadow文件
[root@OpenEuler-180 liangjiawei]# su - liangjiawei
	#无法写入保存
[liangjiawei@OpenEuler-180 ~]$ vim /etc/shadow
	#如果一旦vim赋予了suid权限
[root@OpenEuler-180 liangjiawei]# chmod u+s /bin/vim
	#普通用户就能够能够编辑/etc/shadow文件

SGID权限

Sgid:就是当这个目录赋予了sgid权限,那么所有人创建的文件的属组都是属于这个组的

应用的场景如下:

shell 复制代码
场景一:对二进制程序,让执行者临时获取属组的权限;
早期Linux中,/dev/kmsg是字符设备文件,用于存储内核程序要访问的数据,其权限:
[root@OpenEuler-180 liangjiawei]# ls -l /dev/kmsg
crw-r--r--. 1 root root 1, 11 May 12 23:00 /dev/kmsg
除了管理员或者属于system组的成员外,所有用户都没有读取权限,由于当时需要查看系统进程状
态,为了获取进程状态信息,可以在ps命令上增加SGID;

场景二:在某个目录中创建的文件自动集成该目录的属组权限;
每个文件都有其属主和属组,当创建或传送一个文件后,这个文件就会自动归属于执行这个操作的
用户;
如果现在需要在一个部门内设置共享目录,让部门内的所有人员都能够读取目录中的内容,那么就可以在创建部门共享目录后,在该目录上设置SGID特殊权限位,部门内的任何人员在里面创建的任何文件都会归属于该目录的属组,而不再是自己的基本用户组;

案例说明

shell 复制代码
#创建一个目录:
[root@OpenEuler-180 liangjiawei]# mkdir aa
[root@OpenEuler-180 liangjiawei]# chmod 4777 aa
drwsrwsrwx. 2 root root 4096 May 12 23:38 aa
	#切换成liangjiawei用户,创建的文件所属组也是root
[liangjiawei@OpenEuler-180 ~]$ touch /liangjiawei/aa/liangjiwei
[liangjiawei@OpenEuler-180 ~]$ ll -ld /liangjiawei/aa/liangjiwei
-rw-r--r--. 1 liangjiawei root 0 May 12 23:40 /liangjiawei/aa/liangjiwei

Sbit权限

SBIT:也叫"粘滞位",确保用户只能删除自己的文件,而不能删除其他用户的文件;

shell 复制代码
#典型的目录就是/tmp目录
[root@OpenEuler-180 ~]# ls -ld /tmp/
drwxrwxrwt. 12 root root 240 May 13 21:42 /tmp/
	#liangjiawei 在/tmp目录下创建的文件,zhangsan用户是不能删除、修改
[liangjiawei@OpenEuler-180 ~]$ cd /tmp/
[liangjiawei@OpenEuler-180 tmp]$ touch liangjiawei.txt
	#切换成zhangsan用户
[zhangsan@OpenEuler-180 ~]$ cd /tmp/
[zhangsan@OpenEuler-180 tmp]$ echo zhangsan > liangjiawei.txt
-bash: liangjiawei.txt: Permission denied
[zhangsan@OpenEuler-180 tmp]$

虽然分享的内容比较少,毕竟一天的时间也就只有这么一点的时间,

抓紧时间整理出来的知识点,也希望一天一点点的摄入;成为后面的养分;

不争朝夕,只为目标;加油吧油腻大叔~!

相关推荐
沉迷学习 日益消瘦35 分钟前
13-Ingress 生产实战
运维·kubernetes
Dawn-bit1 小时前
Linux日志处理三剑客之基础篇:(基础正则+扩展正则)
linux·运维·服务器·正则表达式·云计算·运维开发
暗影凋落1 小时前
docker-image 工具展示更详细镜像层内容
运维·docker·容器
深圳市爱派派智能科技有限公司1 小时前
“进迭时空 RISC-V 集群服务器 CSB1-N10SPK3:10 节点 K3,600 TOPS 绿色算力“
运维·服务器·risc-v·k3·进迭时空·集群服务器
☆凡尘清心☆1 小时前
Linux运维故障排查速查命令清单
linux·运维·服务器
QWEDDRFTG1 小时前
机房供电安全
服务器
极客先躯1 小时前
高级java每日一道面试题-2026年05月11日-实战篇[Docker]-如何容器化金融产品推荐系统?
java·运维·docker·容器·金融·高级面试·金融产品推荐系统
小泊客1 小时前
友善R5C刷OpenWrt后RTL8822CE无线网卡显示“禁用”或“未激活”的完整解决方案
linux·github·运维开发
nvd111 小时前
GCP L4 Passthrough 负载均衡器“假死超时”深度排查复盘
运维·php·负载均衡
mounter6251 小时前
跨内核实时更新:如何实现 hugetlbfs 巨页的无缝保留与恢复?
linux·linux kernel·kernel·kexec·liveupdate·kho