linux中的setUID权限
setUID命令只能对文件生效,对目录不生效
在使用umask命令查看系统默认权限时,会出现4位数字的权限代号,如下:
其中第一个0表示的其实就是文件的特殊权限,包括setUID,setGID,sticky BIT权限,其于文件的用户对应的关系为:
特殊权限名 | 对应用户 | 对应权限代号 |
setUID | u(所有者) | 4 |
setGID | g(所属组) | 2 |
sticky BIT | o(其他用户) | 1 |
当没设置文件的特殊权限(包括setUID,setGID,sticky BIT权限)时,对应的四位数字的第一位则为0。
1、setUID权限的功能
- 只有可执行(x)的二进制程序才能设定setUID权限
- 命令执行者要对该程序拥有执行权限(x)
- 命令的执行者在执行该程序时会获得该程序文件的属主身份(在执行程序的过程中灵魂附体为文件的属主)
-
setUID权限只在该程序的执行过程中有效,也就是说身份改变只在程序执行过程中有效
2、给文件设定setUID权限
结果如下:
可以看出赋予了setUID权限后对应原来所有者身份的rwx变成了rws,也就是s取代了x,同时系统把文件名abc以红底白字显示(提示这个文件是不安全的,有可能有安全隐患,也就是setUID权限不安全)
如果给一个没有可执行权限的文件赋予setUID权限,那么结果为:
3、获得该程序文件的属主身份的特性(危险)
在linux中用户的密码都放在/etc/shadow文件下,而且该文件的权限都是0,即只有root用户才能打开该文件,普通用户打开该文件会提示权限不足。(当然赋予了sudo权限的用户也能打开)
那既然普通用户不能访问/etc/shadow文件,那么linux中的普通用户自己怎么修改自己的密码呢?这里就涉及到系统设计好的setUID权限。如下:
对于/usr/bin/passwd命令,系统已经预先设置为了rwsr-xr-x权限
4、危险的setUID
如果系统中存在默认setUID权限之外的带有setUID权限的文件,则有可能被别人植入了木马或者其他危险文件,因此在一般的日常工作中,能够不用setUID权限就能完成的工作,就尽量不要使用setUID权限。并且做好如下几个方面的工作:
- 关键目录应该严格控制写权限。比如:“/”、“/usr”等
- 用户的密码设置要严格遵守密码三原则
-
对系统中默认具有setUID权限的文件作一列表,定时检查有没有这之外的文件被设置了setUID权限
5、定时检查系统中有无系统默认之外的具有setUID权限的文件脚本
首先在检查前,先把系统中自带的setUID权限的文件找出来,并将其写入/home/fz/suid.log文件中,然后再执行此脚本。
迪浮科技课程服务承诺:
1、免费重修:
学员缺课或者学校效果不理想,可以免费重修,确保课程内容完全掌握。重修过程中绝对不收取任何费用!
2、单独辅导:
如果学生在学习过程中,因各种原因无法跟班级进度同步,公司安排专家讲师一对一辅导,手把手带你成为IT精英!
3、自由实验:
清默网络有先进完善的实验中心,全天开放,实验机时不限,不断提高动手操作能力!
4、考试辅导:
学员考试前先通过清默内部模拟考试,技术确定达到考试要求并提供考前辅导及考试技巧讲解。
如果模拟考试未能通过,专家讲师会给予建议和辅导,合格后再参加正式考试,确保学员能高分通过认证考试。
5、企业实战项目:
即通过先进的设备完全搭建和企业项目完全一致的网络环境,把学习内容融会贯通并在实际项目中加以应用,以达到学员迅速掌握实际技能并弥补经验不足的目的,让学员的学习内容不再纸上谈兵,理论与实战完全吻合
咨询老师:郭老师
咨询电话:15056089769
咨询Q Q :1027831018