Linux特殊文件(3)——setUid、setGid文件和带粘着位的目录文件

Linux 特权文件与粘着位
本文介绍 Linux 中 setUid 和 setGid 的作用及用法,并解释如何通过这两种方式调整文件权限以实现权限提升或绑定特殊权限。此外还讲解了粘着位在目录中的应用。

三、setUid、setGid文件和带粘着位的目录文件

  在Linux/Unix下,有一种可执行文件被setUid,这使得任意使用者在执行该文件时,都绑定了文件拥有者的权限。就好像文件带了一把尚方宝剑一样,setUid文件通常用来提升使用者的权限.最有代表性的su命令.普通用户可以可以执行该命令,使自己升级为root。setUid命令的用法是:
  chmod 4755 your_program
  setGid 文件和setUid文件非常类似,它使得这使得任意使用者在执行该文件时,都绑定了文件所有组的权限.单独setGid的文件非常少用,通常都是即setUid又setGid。不过和您猜想的可能有点不同。setUid+setGid通常并不是用来提升权限的,而是为了绑定某个特殊用户及其组的特殊权限,例如qmail 的外围软件vpopmail,就使用了一个setUid+setGid的程序vchkpw来校验用户名和密码。这个道理和Apache常常以nobody用户运行一样。其目的是为了更加安全。
  setGid 命令的用法为
  chmod 2755 your_program
  通常使用命令
  chmod 6755 yourprogram
  来使得某可执行程序同时setUid和setGid
  全能的root用户当然可以任意setUid和setGid。但尚方宝剑不能用来假传圣旨,普通用户只能给属于自己的文件配置setUid或setGid。由于setUid或setGid文件会使普通用户提升权限,谨慎的系统管理员通常会留意系统中有setUid或setGid文件的变化。减少安全隐患。
  在Linux下,/tmp是一个存放临时文件的目录,要求是对所有用户可写。但每个用户都只能删除自己拥有的文件。这种情况下,就可以把目录加一个粘着位。
  [root@yaoyao /]# ls -l |grep tmp
  drwsrwsrwt 9 root root 4096  8月7 10:50 tmp
  注意第是个字符"t",它代表了这个目录被设置了粘着位。
  我们自行建立一个abc的目录,使之具有和/tmp相同的特点
  chmod 777 abc
  chmod +t abc
  上述的个两个命令组合等同于下边的一个命令:
  chmod 1777 abc
  用ls –l 看abc 目录的属性如下:
  [root@yaoyao test]# ls -l
  总用量 4
  drwsrwsrwt 2 root root 4096  8月 7 11:32 abc
  和/tmp目录相同的需求往往在ftp服务器的upload 目录中也存在。可以用相同的方式处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值