没有发现每当我尝试运行任何现有的命令/ sbin目录/用sudouser如“命令使用ifconfig”命令,我得到的错误说sudo的命令:ifconfig:命令未找到。须藤:(什么):在RHEL 5.8
我添加的路径sbin目录到PATH
export PATH=$PATH:/sbin
它工作正常,但是当我改变终端或重启,复位PATH。我如何永久添加PATH变量的路径?
而且我失去了别的东西吗?
没有发现每当我尝试运行任何现有的命令/ sbin目录/用sudouser如“命令使用ifconfig”命令,我得到的错误说sudo的命令:ifconfig:命令未找到。须藤:(什么):在RHEL 5.8
我添加的路径sbin目录到PATH
export PATH=$PATH:/sbin
它工作正常,但是当我改变终端或重启,复位PATH。我如何永久添加PATH变量的路径?
而且我失去了别的东西吗?
如果您正在使用bash
,你可以追加
export PATH=$PATH:/sbin
您~/.bashrc
到/sbin
添加到您的$PATH
永久。
sudo -l
可用于列出调用用户允许的命令,这也说明了安全路径。
sudo -l
给出了这样的我的Fedora 19系统上:
$ sudo -l
...
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
和sudo printenv PATH
给出了相同的结果:
$ sudo printenv PATH
/sbin:/bin:/usr/sbin:/usr/bin
这secure_path
设置在/etc/sudoers
:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
我sudo
版本:
$ sudo -V
Sudo version 1.8.6p7
Sudoers policy plugin version 1.8.6p7
Sudoers file grammar version 42
Sudoers I/O plugin version 1.8.6p7
命令sudo
下执行不继承大部分的环境,尤其是你的$PATH
。
要看看有什么继承,尝试运行
sudo printenv
如果要执行的命令,这不是在sudo
的默认$PATH
,你必须在命令来更新$PATH
本身或指定命令的完整路径名。
您也可以使用-E
通过sudo
传播您当前的环境,但这并非总是允许的。
另请参阅/etc/sudoers
,可用于配置sudo
和man sudo
的行为。
sudo -l
也将显示有用信息,包括你允许执行和对环境的一些(但不是全部)信息哪些命令。
'sudo -l'可以用来列出调用用户允许的命令。 –
您使用的是哪个外壳? –
@jaypal:它不利于 – Pradeep
@leeduhem:bash shell的 – Pradeep