日期:2014-05-16  浏览次数:20689 次

LInux---更改/usr/bin/目录下执行文件的权限出现的问题
chmod 755 /usr/bin/*

?这段代码直接导致很多应用程序无法正常工作,甚至连sudo 也出问题。
sudo 出现的错误:sudo: must be setuid root ,不知道怎么理解这个提示(有谁知道怎么理解的请指教!!!)。

查看sudo的权限:

terminal 写道
-rwxr-xr-x 2 root root 127560 2010-09-01 04:38 sudo*
?

针对sudo出现的问题,网上的解决办法如下:

chmod 4755 /usr/bin/sudo? (确保sudo的所有者是root)

这个命令跟chmod u+s /usr/bin/sudo一样的作用。

在查看sudo的权限:

terminal 写道
-rwsr-xr-x 2 root root 127560 2010-09-01 04:38 sudo*

?变化的仅仅是root对该文件权限。由执行权限“x” 变成 权限“s” 。

接下来对权限s的理解:

当一个执行文件拥有权限s时,其他某用户执行该文件时并可以获得与该文件所属者一样的权限。

或者这样理解,其他某用户执行该文件时,该用户就拥有与该文件所属者的一样的权限。

这就是sudo命令有root权限的功能的原因。

?

所以在修改系统文件的权限的时候,千万要注意s权限。

chmod 777 * 
?

不是万能的解决办法。

参考:

sudo: must be setuid root错误解决方法.

http://hi.baidu.com/schmo_fan/blog/item/60b9fe0914a641ab2eddd488.html

?

?

?

?