|

楼主 |
发表于 2003-5-20 18:38:08
|
显示全部楼层
最初由 tram 发表
这个sudo是比较特殊的一个包,它能让普通用户执行超级用户的命令,所以需要额外的安全性。
chmod 4755 /usr/bin/sudo /usr/sbin/visudo
chown root /usr/bin/sudo /usr/sbin/visudo
这两个命令加在一起,把visudo程序所有者改成了root,并且不管哪个用户执行,都相当于root来执行。
chmod 0440 /etc/sudoers
chown root:root /etc/sudoers
这两个命令是让sudoers文件成为只读的。这个文件只能用visudo来编辑。
比如:
4755:4表示setuid,
0440:0表示普通,
把上面再解释一下,一条一条的解释,
chmod 4755 /usr/bin/sudo /usr/sbin/visudo
这是做什么的?
这是让这两个文件的属性都是755,然后第一位是表示setuid,也就是如果我以普通用户来执行,系统也认为是这个文件的所有者执行的。
chown root /usr/bin/sudo /usr/sbin/visudo
改变/usr/bin/sudo /usr/sbin/visudo这两个文件的所有者是root?
对,就是改成root,这和上面的setuid配合,就能让系统认为是root在执行这个程序。
chown root:root /etc/sudoers
该条命令中的root;root是什么意思?
这个是root:root,也就是root(用户):root(组),改变这个文件的所有者和所有组。
在什么地方实现的?
这就是通过设置0440来实现啊,440就是只有root用户或root组的用户能看,其他的不能看,但就连root也不能改。这是出于安全考虑。
4是setuid位,具体是什么意思?还有没有其它的数字表示?
setuid 位就是把所有者的身份加在文件上,还有1是setgid,把组的身份加在文件上。好像还有几个,记不全了。
,普通的概念又如何理解?
普通就是既不setuid,也不setgid. |
|