【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

查看所有用户组。




【美图欣赏】

相关推荐
IT小哥哥呀12 小时前
Nginx高可用配置实战:负载均衡 + 健康检查 + 动态扩展
运维·nginx·负载均衡·devops·日志分析·openresty·动态扩展
刘某的Cloud12 小时前
ceph osd down排查
linux·运维·ceph·系统·osd
喜欢你,还有大家16 小时前
Docker-仓库-镜像制作
运维·docker·容器
安审若无17 小时前
图数据库neoj4安装部署使用
linux·运维·数据库
做运维的阿瑞18 小时前
CentOS DNS故障排查完整解决方案:从症状到根因的系统化诊断
linux·运维·centos
QT 小鲜肉18 小时前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试
深圳市恒讯科技19 小时前
英国服务器Windows系统远程桌面安装与优化
运维·服务器·windows
itachi-uchiha19 小时前
head和tail命令使用
linux·运维·服务器
violet-lz19 小时前
Socket编程实战:从基础API到多线程服务器
运维·服务器
初学者_xuan19 小时前
零基础新手小白快速了解掌握服务集群与自动化运维(十六)集群部署模块——LVS-DR&TUN模式配置
运维·自动化·lvs