【Linux】adduser命令使用

我们经常在linux系统中创建用户。有时候用的是 useradd有时候用的是 adduser ,好混乱啊到底用哪个啊。今天咱们一起来学习一下。


adduser与useradd的区别

useradd 命令是内置的 Linux 命令,在任何 Linux 系统中都可用。然而,使用这种低级别的工具创建用户是比较繁琐的,因为默认情况下,它不会创建主目录和用户密码。

adduser 不是标准的 Linux 命令,它本质上是一个 perl脚本,在后台调用 useradd 命令。这个高级实用程序在 Linux 中创建用户的时候效率更高,它提供了创建主目录、设置密码以及其他一些参数的选项。

useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd 去设置新用户的密码。

adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

adduser实际并不是一个真正的命令文件,而仅仅是useradd的一条别名命令,因此这两个命令的使用方法完全相同。


今天我学习一下adduser。

我们今天用的是cenos系统。

语法

bash 复制代码
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

查看所有用户组。




【美图欣赏】

相关推荐
夜影风23 分钟前
Linux系统中自签名HTTPS证书
linux·运维·https
wb18927 分钟前
流编辑器sed
运维·笔记·ubuntu·云计算
成工小白1 小时前
【Linux】C语言模拟实现shell命令行(程序替换原理)
linux·运维·服务器
西装没钱买2 小时前
C语言多进程TCP服务器与客户端
服务器·c语言·tcp/ip·进程
福理原乡大王3 小时前
Linux信号详解
linux·运维·服务器·c++·ubuntu·信号处理
锅锅是锅锅3 小时前
ubuntu调整硬盘大小-使用gparted
linux·ubuntu·硬盘·gparted
ldq_sd4 小时前
centos 8.3(阿里云服务器)mariadb由系统自带版本(10.3)升级到10.6
服务器·阿里云·centos
孙克旭_4 小时前
day031-Shell自动化编程-数组与案例
linux·运维·自动化
喜欢踢足球的老罗4 小时前
自动化模型管理:MediaPipe Android SDK 中的模型文件下载与加载机制
android·运维·自动化
遇见火星4 小时前
自动化KVM虚拟机创建脚本详解:从模板到高效部署的线上实践!
运维·自动化·kvm