useradd
和 adduser
是在类 Unix 系统中用于添加新用户的命令,但它们之间存在一些差异,主要体现在不同的系统环境和命令的具体实现上。
useradd
useradd
命令通常用于基于 sysvinit 的系统,如早期的 Linux 发行版(比如 CentOS 6 及之前版本)。- 它是一个较低级别的命令,通常在脚本中使用,因为它提供了更多的选项和灵活性。
useradd
默认情况下可能不会为你创建主目录或设置密码,它依赖于系统配置文件(如/etc/default/useradd
和/etc/login.defs
)来定义其行为。- 你通常需要手动设置密码,使用
passwd
命令。
示例:
sudo useradd -m username # -m 选项会创建主目录
sudo passwd username # 设置用户密码
adduser
adduser
命令通常用于基于 systemd 的系统,如较新的 Linux 发行版(比如 Ubuntu、Debian、CentOS 7 及之后版本)。- 它是一个较高级别的命令,提供了交互式的方式来添加用户,它会询问一些细节,比如用户的全名、房间号码、电话等。
adduser
默认情况下会为你创建主目录,并允许你设置密码,它通常更加用户友好。- 在某些系统中,
adduser
可能是useradd
的一个符号链接或包装器,提供更友好的界面。
示例:
sudo adduser username # 会引导你完成添加用户的过程
总结
- 在使用时,你应该根据你的系统类型和你的具体需求来选择使用哪一个命令。
- 在某些系统中,这两个命令可能是互相链接的,或者
adduser
可能是useradd
的一个封装,提供了更完整的用户添加流程。 - 为了避免混淆,建议查看你所在系统的手册页(
man useradd
或man adduser
)来了解具体的命令行为和可用选项。
在任何情况下,添加用户通常需要管理员权限,因此这些命令通常与 sudo
一起使用。