原因之一:以非主用户执行命令,或者是错用su 命令。
以 service httpd restart 为例:若以www用户登录,直接执行此命令是会报错,
同样以不恰当的su root执行此命令也会报错,原因如下:
su 或者 su root:的话只是将当前身份转为root,用户shell并没有改变.所以有些系统命令不能使用.
su -或者su -l或者su -l root,可以完全的将当前环境转为root环境.如同root直接登陆.
其次,service的路径为/sbin/service
如果shell没有改变,那么你的PATH中默认没有/sbin,所以不行,而如果用su -命令环境改为root,PATH中就包含/sbin。