" sudo命令"不起作用,但"命令"作为根工作

时间:2014-04-24 12:28:58

标签: linux passenger root

我正在尝试在Ubuntu 12.04上安装Phusion Passenger。

当我尝试:

sudo passenger-install-apache2-module

......我明白了:

sudo: passenger-install-apache2-module: command not found

但是,当我省略sudo时,它运行正常。此外,当我以root身份登录并运行passenger-install-apache2-module时,它也可以正常工作。为什么在以非root用户身份登录时sudo passenger-install-apache2-module不起作用,但以root身份登录时工作正常?

1 个答案:

答案 0 :(得分:3)

这是因为passenger-install-apache2-module不是普通用户的路径,而是以root用户身份。 (它可能在/usr/sbin - 见下文)

以root身份运行which passenger-install-apache2-module,它会告诉您它的位置(然后您可以使用sudo /full/path/to/passenger-install-apache2-module

运行

sbin目录(通常为/sbin/usr/sbin)包含用于系统管理的命令。通常,这些需要提升权限,或者对普通用户运行它们没有意义。这就是为什么默认情况下这些目录不在普通用户的路径上 - 它只会让事情变得混乱。