首先,相应的手册页摘要突出显示了两个命令之间的差异,并提供了一些提示。对于adduser
:
adduser和addgroup根据/etc/adduser.conf中的命令行选项和配置信息,将用户和组添加到系统。它们是低级工具(如useradd,groupadd和usermod程序)的更友好的前端,默认情况下选择符合Debian策略的UID和GID值,创建具有骨架配置的主目录,运行自定义脚本以及其他功能。
然后用于useradd
:
useradd是用于添加用户的低级实用程序。在Debian上,管理员通常应改用adduser(8)。
进一步的研究adduser
表明,这是一个perl脚本,为以下命令提供了高级接口,并因此提供了某些功能:
useradd
groupadd
passwd
-用于添加/更改用户密码。
gpasswd
-用于添加/更改组密码。
usermod
-用于更改各种与用户相关的参数。
chfn
-用于添加/更改用户拥有的其他信息。
chage
-用于更改密码有效期信息。
edquota
-用于更改磁盘使用配额。
该adduser
命令的基本运行如下:
adduser username
这个简单的命令可以做很多事情:
- 创建名为的用户
username
。
- 创建用户的主目录(默认目录为,
/home/username
然后将文件复制/etc/skel
到其中)。
- 创建一个与用户同名的组,并将用户放入其中。
- 提示输入用户密码。
- 提示有关用户的其他信息。
该useradd
程序可以完成大多数操作,但是默认情况下不执行此操作,并且需要其他选项。一些信息需要更多命令:
useradd -m -U username
passwd username
chfn username
请注意,adduser
确保创建的UID和GID符合Debian策略。创建普通用户useradd
似乎是确定,提供UID_MIN
/ UID_MAX
于/etc/login.defs
Debian政策相匹配。不过,问题在于Debian为系统用户UID指定了一个特定范围,似乎仅在该范围内受支持/etc/adduser.conf
,因此,天真地添加系统用户useradd
且未在正确范围内指定UID / GUID可能会引起严重问题。
另一个常见用途adduser
是简化将用户添加到组的过程。在这里,以下命令:
adduser username newgroup
替换了一个更复杂的usermod
命令,该命令要求指定用户已经是该用户的组(并且您希望该用户仍然是成员)的组:
usermod -G all,other,groups,user,is,in,newgroup
adduser
不过,使用此处的一个缺点是一次只能指定一个组。