suid和guid

suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。于是,如果超级用户的某一个脚本设置了这样的权限,那么其他普通用户在执行它的期间也同样具有超级用户的权限。同样的原则也适用于guid,执行相应脚本的用户将具有该文件所属用户组中用户的权限。

 

可以使用以下命令查找设置了suid或guid的文件:

$ ls -l | grep '^...s'(查找suid)
$ ls -l | grep '^...s..s'(查找suid和guid)

 

如果希望设置suid,那么就将相应的权限位之前的那一位设置为4;如果希望设置guid,那么就将相应的权限位之前的那一位设置为2;如果希望两者都置位,那么将相应的权限位之前的那一位设置为4+2。一旦设置了这一位,一个s将出现在x的位置上。记住:在设置suid或guid的同时,相应的执行权限位必须要被设置。

 

如:chmod 4755 <filename> rws r-x r- x

      chmod 6711 <filename> rws--s --s

 

还可以使用符号方式来设置suid / guid。如果某个文件具有这样的权限:rwx r-x r- x,那么可以这样设置其suid:

chmod u+s <filename> rws r-x r-x

 

在查找设置了suid的文件时,没准会看到具有这样权限的文件:rwS r-x r- x,其中S为大写。它表示相应的执行权限位并未被设置,这是一种没有什么用处的suid设置,可以忽略它的存在。

 

注意,chmod命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但chmod命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值