linux使用useradd命令出现command not found问题
学习啦在线学习网linux使用useradd命令出现command not found问题
Linux中的useradd命令是添加用户,但是有时候会出现command not found的问题。下面由学习啦小编为大家整理了Linux的useradd命令出现command not found问题的相关知识,希望对大家有帮助!
linux使用useradd命令出现command not found问题
前提:使用普通用户登录Linux
现象:在命令行控制台中切换到root超级用户,使用useradd命令创建新用户,出现"useradd:command not found "问题。
学习啦在线学习网 原因:因为在UNIX系统里面,每个系统用户都由自己的环境变量来定义自己登录上来的shell、终端类型、路径等。linux下Bshell用 户登录后执行主目录下的.bash_profile,Cshell用户执行.cshrc_profile文件。
当以普通用户登录主机,而此用户的环境里没有定义系统命令所在的路径,如/usr/bin,/usr/sbin等;或在一些情况下TELNET 上主机后也会遗失环境变量。
解决方法三种:
1.在绝对路径/usr/sbin中执行;
学习啦在线学习网 2.用root用户执行命令。用“su -”可以取得root用户的权限和环境(注:是“su -”不是“su”,因为“su”只取得root的权限,“su -”取得root权限后还执行root的profile来取得root的环境变量)
3.如果确定要使用非root用户的当前用户来执行命令,需要把系统路径加到该用户的.bash_profile或者.cshrc_profile文件中去
参考:useradd命令出现command not found的其它解决方法
两种可能
1种是你的系统没安装这个uesradd命令
学习啦在线学习网 1种是你没有吧/usr/sbin配置到环境变量
首先,测试:
如果是root用户 使用/usr/sbin/useradd xxx 如果正常,证明不是系统安装问题,如果出错,则证明没有该命令,用yum自行安装
那么,如果有该命令呢
非root用户 su - 切换到root用户 (因为你没权限啊)
学习啦在线学习网 在UNIX系统里面,每个系统用户都有自己的环境变量来定义自己登陆上来的的SHELL,终端类型,路径等等,在Linux下,BSHELL的用户登陆后会执行主目录下
的.bash_profile文件,CSHELL的用户会执行.cshrc_profile文件,这些文件里定义了你这个用户的环境变量。
这时候你可以做的是:
学习啦在线学习网 确定需要此用户执行系统命令,那么可以把系统路径加到该用户的.bash_profile/.cshrc_profile的PATH里面。
学习啦在线学习网 还是用ROOT用户执行命令,那么用命令su - 可以取得ROOT用户的权限和环境。(注意,是su -而不是su。因为su是只取得ROOT的权限,su - 是取得ROOT的权限后还执行ROOT的PROFILE来取得ROOT的环境变量)
#cd
#vi .bash_profile
学习啦在线学习网 把这一行修改成:
学习啦在线学习网 PATH=$PATH:/bin:/usr/sbin