分页: 1 / 1

文件的执行

发表于 : 2012-05-05 7:28
罗非鱼
有个文件只能用sudo 命令来运行:
sudo /usr/bin/command
为何我
chmod 777 /usr/bin/command

让所有人都有执行权力,然后在终端输入
/usr/bin/command

还是不能执行呢?

Re: 文件的执行

发表于 : 2012-05-05 8:20
cuihao
输出什么?

Re: 文件的执行

发表于 : 2012-05-05 8:23
罗非鱼
输出和sudo /usr/bin/command一样,但是它出现第一个界面后就死在那里了,如果是用sudo /usr/bin/command命令,会一直执行下去。

Re: 文件的执行

发表于 : 2012-05-05 8:31
cuihao
那么这个文件已经“可以执行”了,只是无法“正常使用”。

有些命令需要root权限的,就像:

代码: 全选

passwd root
普通用户就是用不了。

Re: 文件的执行

发表于 : 2012-05-05 8:32
cuihao
另外,把权限改回去吧,777不可靠。

Re: 文件的执行

发表于 : 2012-05-06 9:28
罗非鱼
问题解决了,我发现使用sudo /usr/bin/command命令进行安装这个软件的时候,会要求读写/opt,必须用sudo权限,如果我将这个软件安装在其他目录下面,就可以用/usr/bin/command启动了。

但是这里又产生另外一个问题,我对一个普通用户进行sudo授权,这样操作,
vi /etc/sudoers
#在root ALL=(ALL) ALL下面添加
luo ALL=(ALL) ALL # luo是我的用户名
#保存退出,然后去除可写入权限
chmod u-w /etc/sudoers
#然后退出root

为何这样操作完成后,这个luo用户还是无法执行sudo用户才能执行的命令?

Re: 文件的执行

发表于 : 2012-05-06 9:33
onshoestring
对某个文件,luo用户要有x权限才能提权。
比如这个文件:
-rwsr-xr-x 1 root root 41284 4月 9 10:40 passwd