我的供应商给我一台安装了Centos5的服务器。 他们已经build立了机器直接用root帐户login。
随着root帐户login,我可以像这样运行命令:
服务httpd重启
我不喜欢能够直接login的root帐户。 所以我在sshd_config文件中添加了“PermitRootLogin no”。 然后我创build另一个用户,并把它放到sudoer列表。
问题出现了。 当我用这个新用户login,我不能再运行“服务命令”。 它会提示命令未find。 即使我“sudo su”,我不能运行这个命令,任何人都可以告诉我该怎么做? 谢谢。
你的$ PATHvariables不包含所需的path,当使用sudo su你的$ PATH是不变的。
不过我会build议不要使用sudo su - ,而是使用:
sudo /sbin/service httpd restart
只以root用户身份运行必需的命令,不要打开任何根shell。
你几乎在那里。 下次只要做:
sudo su -
使用“sudo su”运行意味着您使用常规用户的环境设置,而不是特权用户,这意味着服务命令不在您的path中。
无论是或者做:
/etc/init.d/httpd restart
如果你想完全绕过服务命令。
login时可以使用命令的完整path。 试试/sbin/service httpd restart 。