1.很系统供应商不允许使用这一命令,或者即使被置位,也会被忽略,这一命令会带来安全性风险。
suid意味着该用户对自己的shell脚本设置了这种权限,那么其他用户执行该脚本时,也将拥有该用户相同的权限。
如果根用户设置了这样的权限,那么其他普通用户在执行这一脚本时,将有根用户的权限。同样的原则也适用于guid。
2. 为什么要用suid/guid
例子:比如我管理者几个大型的数据库,而对他们进行备份需要有管理员权限,我写了几个脚本,并设置了guid,这一我指定一些用户
可以执行这个脚本,只要他们执行就可以完成相应的工作,无需以管理员的身份登录,避免了不小心破坏数据库服务器。通过执行这些脚本即可
完成相信的备份工作以及其他任务。当这些脚本执行完成后,他们就又回到了普通用户的身份。
有一些UNix命令也设置了suid和guid。可以进入/bin或者/sbin目录查找
$ ls -l | grep '^...s' 该命令查找suid
¥ls -l | grep '^...s...s' 该命令查找suid和guid
3 如何设置suid/guid
如果希望设置suid,那么就将相应的权限位之前的那一位设置为4.如果希望为guid,则设置为2。两个都置位,则为4+2.
一旦设置了这一位,一个s将出现在x位上。记住:在设置suid和guid的同时,相应的执行权限位必须要被设置。否则没有执行权限无意义。
例如设置文件login的权限位rwx rw- r-(741),在使用chmod命令时要在前面加上一个4,即chmod 4741,文件权限将变为rws rw- r--