重生之异界祖巫:addusr找不到命令 || su 与 sudo 区别

来源:百度文库 编辑:九乡新闻网 时间:2024/05/04 13:06:13
你是不是以其他非root用户远程登录,然后用su切换到root?

如果是:请exit到非root用户:
#cd
#vi .bash_profile

把这一行修改成:
PATH=$PATH:/bin:/usr/sbin


你的问题,有可能是以普通用户登陆主机,而此用户的环境里面没有定义系统命令所在的一些路径,比如/usr/bin,/usr/sbin等(就象WINDOWS里面的PATH一样),或者在一些情况下TELNET上主机后也会遗失环境变量,这时候你可以做的是:
1。确定需要此用户执行系统命令,那么可以把系统路径加到该用户的.bash_profile/.cshrc_profile的PATH里面。
2。还是用ROOT用户执行命令,那么用命令su - 可以取得ROOT用户的权限和环境。(注意,是su -而不是su。因为su是只取得ROOT的权限,su - 是取得ROOT的权限后还执行ROOT的PROFILE来取得ROOT的环境变量)

核心是,先由非root用户su 到root 但是没有正确的继承root的环境变量哈!~
直接由root登陆就不会出现这个问题了。

解决方法是

你是不是从普通用户su到root的,如果这样的话,由于PATH变量的缘故,bash可能找不到useradd命令,你可以以直接以root登录,然后执行useradd,或用useradd的绝对路径/usr/sbin/useradd

也可以用whereis 来搜索这个软件包安装在什么地方