我们经常在linux系统中创建用户。有时候用的是 useradd 有时候用的是 adduser ,好混乱啊到底用哪个啊。今天咱们一起来学习一下。
adduser与useradd的区别
useradd 命令是内置的 Linux 命令,在任何 Linux 系统中都可用。然而,使用这种低级别的工具创建用户是比较繁琐的,因为默认情况下,它不会创建主目录和用户密码。
adduser 不是标准的 Linux 命令,它本质上是一个 perl脚本,在后台调用 useradd 命令。这个高级实用程序在 Linux 中创建用户的时候效率更高,它提供了创建主目录、设置密码以及其他一些参数的选项。
useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd 去设置新用户的密码。
adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
adduser实际并不是一个真正的命令文件,而仅仅是useradd的一条别名命令,因此这两个命令的使用方法完全相同。
今天我学习一下adduser。
我们今天用的是cenos系统。
语法
adduser [参数] 用户名
命令常用选项及作用
执行令 adduser--help
执行命令结果
参数
- -b, --base-dir BASE_DIR 新账户的主目录的基目录
- -c, --comment COMMENT 新账户的备注信息,备注信息保存在 /etc/passwd 的备注栏中
- -d, --home-dir HOME_DIR 新账户的主目录
- -D, --defaults 显示或更改默认的 useradd 配置
- -e, --expiredate EXPIRE_DATE 新账户的过期日期,日期格式为 YYYY-MM-DD。如果未指定,useradd 将使用在 /etc/default/useradd 中指定的到期日期 EXPIRE,或默认情况下使用空字符串(无过期)
- -f, --inactive INACTIVE 指定在密码过期后多少天即关闭该账号。如果为 0 账号立即被停用;如果为 -1 则账号一直可用。默认值为 -1
- -g, --gid GROUP 指定用户所属的主组。主组必须已经存在
- -G, --groups GROUPS 指定用户所属的附加组,多个组使用逗号分隔
- -h, --help 显示帮助信息并推出
- -k, --skel SKEL_DIR 指定用户的骨架目录。与选项 -m (或 --create-home)联用,骨架目录包含要复制到用户主目录中的文件和目录
- -K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值(UID_MIN、UID_MAX、UMASK、PASS_MAX_DAYS 等)
- -l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
- -m, --create-home 创建用户的家目录。useradd 默认会创建 home 目录,除非 /etc/login.defs 中的 CREATE_HOME 设置为no
- -M, --no-create-home 不创建用户的主目录。即使 /etc/login.defs 中的 CREATE_HOME 设置为 yes
- -N, --no-user-group 不创建同名的组
- -o, --non-unique 允许使用重复的 UID 创建用户
- -p, --password PASSWORD 设置账户密码,注意是使用 crypt(3) 加密后的用户密码,不是密码的明文。默认是用户密码不可用。推荐使用 passwd 命令给用户设置密码
- -r, --system 创建一个系统账户
- -R, --root CHROOT_DIR 设置根目录。在 Linux 系统中,系统默认的根目录是 /
- -s, --shell SHELL 新账户的登录 Shell
- -u, --uid UID 新账户的用户 ID
- -U, --user-group 创建与用户同名的组,并将用户添加到此组中。为默认动作,除非 /etc/login.defs 中 USERGROUPS_ENAB 被设置为 no 或显示使用选项 -N, --no-user-group。
- -Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER。
常用命令示例
命令:adduser 用户名
执行命令 :adduser test2
添加一个用户名是:test2 的一般用户。
命令:adduser -e 时间 用户名
执行命令 :adduser -e 2023-13-31 test3
添加一个用户名是:test3 的一般用户并设置账户有效期。
命令:adduser -g组名 用户名
执行命令 :adduser -groot test4
添加一个用户名是:test4 的一般用户并指定用户所在的组为root用户组。
命令:adduser -r 用户名
执行命令 :adduser -r test2
添加创建一个系统用户。
命令:adduser -d 目录
执行命令 :adduser -d /home/zhangsanfeng test2
为新添加的用户指定/home目录 。
命令:cat /etc/passwd
执行命令 :cat /etc/passwd
查看所有用户。
命令:cat /etc/group
执行命令 :cat /etc/group
查看所有用户组。
【美图欣赏】