学习啦 > 学习电脑 > 操作系统 > Linux教程 > linux使用useradd命令出现command not found问题

linux使用useradd命令出现command not found问题

时间: 佳洲1085 分享

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

3634836