分享

addusr找不到命令 || su 与 sudo 区别

 zale的图书馆 2011-06-30
你是不是以其他非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 来搜索这个软件包安装在什么地方

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多