本文主要是介绍显示bash:useradd:command not found的错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:前两天做实验,在命令行中添加用户时显示bash: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指令的用法
作用:账户建立或更新使用者的信息
语法:useradd <选项> 用户名
常用参数:
1. -c comment
新账号password档的说明栏
2. -d home_dir
新账号的家目录路径
3. -e expire_date
账号的截止日期,格式为MM/DD/YY
4. -f inactive_days
账号过期几日后永久封停。当值为0时账号立即被封停,当值为-1时则是关闭这个功能,默认为-1
5. -g initial_group
group名称或以数字来做为使用者登陆的起始组。组名必须是存在的名称
6. -G group,[...]
定义用户所属的其他组,可以有多个
7. -m [-k skeleton_dir]
用户家目录如果不存在则自动建立。如果使用-k选项,skeleton_dir内的文档会被复制到家目录下,而/etc/skel目录下的文档也会被复制过来
8. -M
强制不建立用户家目录,即使/etc/login.defs设定要建立家目录
9. -s
使用者登陆后使用的shell名称。预设是不填写,这样系统会指定预设的登陆shell
10. -u
手动设定用户的ID值,ID值必须是唯一的。
userdel指令的用法
作用:删除用户账号
语法:userdel [-r] 用户名
参数:
-r 连同账号的家目录一并删除
这篇关于显示bash:useradd:command not found的错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!