Ubuntu 中 useradd 和 adduser 的区别

目录

useradd

低级 ELF 可执行程序。直接操作系统文件,创建用户但不创建 home 目录、不设置密码、不分配 shell。

用法示例:

sudo useradd test
# 创建一个"三无"用户:无 home 目录、无密码、无 shell

sudo useradd -m -d /home/test -s /bin/bash -p passwd test
# -m 创建 home 目录
# -d 指定 home 目录路径
# -s 指定 shell(如 /bin/bash)
# -p 指定密码(但注意此方式 -p 后面的密码需事先加密)

常用参数

  • -b BASE_DIR:指定 home 目录的基目录
  • -d HOME_DIR:指定 home 目录
  • -g GID:指定用户所属组
  • -l:不添加到 lastlog/faillog 数据库
  • -M:不创建 home 目录
  • -r:创建系统账户
  • -s SHELL:指定 shell

adduser

高级 Perl 脚本,交互式创建用户。系统逐步提示输入用户信息,更友好但过程较长。

sudo adduser test
# 交互式输入:全名、房间号、工作电话、家庭电话、其他信息、密码

修改用户密码

如果用 useradd 创建后需要设置密码,用 usermodpasswd

sudo usermod --password PASSWD username
# 或
sudo passwd username

对比总结

特性useraddadduser
类型低级命令(ELF)高级脚本(Perl)
操作方式单行命令 + 参数交互式对话
学习曲线陡峭(参数众多)平缓(提示引导)
适合人群高阶用户、脚本编程初级用户、手动操作
效率高(自动化友好)低(交互式)

#linux-admin