Linux特殊权限分析(第二版)

简介: SetUID[权限值=4]问题:为什么普通用户可以修改自己的密码?ll $(which passwd) 1、SetUID:当一个可执行程序/命令具有SetUID 权限,用户执行这个程序时,将以这个程序的所有者的身份执行。

SetUID[权限值=4]

问题:为什么普通用户可以修改自己的密码?

ll $(which passwd)

 

1、SetUID:当一个可执行程序/命令具有SetUID 权限,用户执行这个程序时,将以这个程序的所有者的身份执行

 

2、加SetUID权限:

chmod u+s [filename] 或 chmod 4755 [filename] #SetUID权限值=4 

 

E.g.

chmod u+s $(which touch)

 

#可以看到newfile2的所有者并不是guest,而是root!

 

3、危险!

将命令设置成SetUID是一件很危险的事,比如将vi设置成SetUID,则他可以编辑并保存系统中所有的文件,甚至是系统配置文件!他可以让一个用户瞬间编程超级用户,他可以使你的系统不断的重启等,或者将kill设置成SetUID...

 

 预防:

find / -perm -4000 -o -perm -2000

#查找权限为4000或2000的文件,即具有SetUID,SetGID的文件

 

4、取消SetUID权限:

chmod u-s [filename] 或 chmod 755 [filename]

 

附-原来的文件必须是一个可执行程序,如果原文件没有x权限,则设置SetUID之后也没有任何作用

 

#显示为S[大写]!

 

SetGID[权限值=2]

1、SetGID:当一个可执行程序/命令具有SetGID 权限,用户执行这个程序时,将以这个程序所属组的身份执行。

 

2、加SetGID权限:

chmod g+s [filename] 或 chmod 2755 [filename] #SetGID权限值=2



#可以看到testfile2的所属组并不是默认的guest,而是root!

 【同时设置UIDGID chmod 655...


粘着位[权限值=1]

1、粘着位:如果一个权限为777的目录,被设置了粘着位,每个用户都可以在这个目录里面创建文件,但是只可以删除所有者是自己的文件。

 

 

2、设置粘着位:

chmod o+t [filename] 或 chmod 1777 [filename] #粘着位用t来表示,权限值=1

 

 

#可以看到,在设置了粘着位的/t_test目录,删除隶属于自己的文件是可以的,但是无法删除其他人的文件.

 

附-文件的特殊权限:

umask命令的第一位

目录
相关文章
|
1月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
|
2天前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
17 1
linux特殊权限!!
|
1月前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
54 11
|
30天前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
30天前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
30天前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
1月前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
24 0
|
3月前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
26 2
|
3月前
|
存储 Unix Linux
Linux 内核源代码情景分析(四)(下)
Linux 内核源代码情景分析(四)
23 2
|
2月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
207 0