2014-02-28 44 views
0

没有发现每当我尝试运行任何现有的命令/ sbin目录/用sudouser如“命令使用ifconfig”命令,我得到的错误说sudo的命令:ifconfig:命令未找到。须藤:(什么):在RHEL 5.8

我添加的路径sbin目录到PATH

export PATH=$PATH:/sbin 

它工作正常,但是当我改变终端或重启,复位PATH。我如何永久添加PATH变量的路径?

而且我失去了别的东西吗?

+0

您使用的是哪个外壳? –

+0

@jaypal:它不利于 – Pradeep

+0

@leeduhem:bash shell的 – Pradeep

回答

0

如果您正在使用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 
+0

我试着追加〜/。bashrc,但我得到了一个权限被拒绝的错误 – Pradeep

+0

你的命令是什么,什么是确切的错误信息? –

+0

我试图查看根目录“cat〜/ .bashrc”,当我得到权限被拒绝的错误。 如何将/ sbin永久添加到PATH for sudoomrs “sudo printenv” - PATH中没有/ sbin – Pradeep

2

命令sudo下执行不继承大部分的环境,尤其是你的$PATH

要看看有什么继承,尝试运行

sudo printenv 

如果要执行的命令,这不是在sudo的默认$PATH,你必须在命令来更新$PATH本身或指定命令的完整路径名。

您也可以使用-E通过sudo传播您当前的环境,但这并非总是允许的。

另请参阅/etc/sudoers,可用于配置sudoman sudo的行为。

sudo -l也将显示有用信息,包括你允许执行和对环境的一些(但不是全部)信息哪些命令。

+1

'sudo -l'可以用来列出调用用户允许的命令。 –