adduser和useradd有什么区别?
Ubuntu上的命令adduser
和useradd
什么区别?
useradd
是使用系统编译的本机二进制文件。 但是,adduser
是一个在后端使用useradd
二进制文件的perl脚本。
adduser
比后端useradd
更加用户友好和互动。 提供的function没有区别。
来源: “adduser”和“useradd”有什么区别?
deluser
创建新用户时, 始终使用adduser
(删除用户时使用 deluser
)。 (如果您正在编写脚本,特别是如果您的目标是可移植性,则可能需要使用低级实用程序 – 而adduser
/ deluser
可能并非在所有发行版上都可用,例如在SuSE上。)
useradd
, userdel
和usermod
命令是由于历史原因而存在的低级实用程序,而adduser/deluser
Do The Thing™。 (我记得通过认为user*
在字母表中的adduser/deluser
,因此“更糟糕”。)
根据相应的联机帮助页(在Ubuntu 12.04精确穿山甲,即Debian衍生系统)。
adduser
页说:
(重点补充。)
adduser
和addgroup
根据/etc/adduser.conf
命令行选项和配置信息将用户和组添加到系统中。 它们是useradd
,groupadd
和usermod
程序等低级工具的友好前端 ,默认情况下选择符合Debian策略的UID和GID值,创建具有骨架配置的主目录,运行自定义脚本和其他function。adduser
和addgroup
可以以下列五种模式之一运行:
useradd
页说:
useradd
是一个用于添加用户的低级实用程序。 在Debian上,管理员通常应该使用adduser(8)
。
另请参阅: “adduser”和“useradd”之间的区别是什么? (在SuperUser上)
adduser
:添加完整个人资料和信息的用户(通过,配额,权限等)
useradd
:仅为用户添加他的名字(如果你想添加一个只有一个名字的临时用户,不需要其他信息)
另外两个差异导致了useradd可能更可取的特定场景。
-
在一些较新的发行版中,包括Ubuntu 14.4,adduser会提示输入密码和“gecos”(finger命令的数据)等信息。 这意味着它不太适合从脚本调用(信用:在Wernight的评论中已经提到过)。
可以通过传递空参数来抑制提示:
adduser --disabled-password --gecos "" USER
-
useradd
允许您通过-G
选项传递多个其他组以添加用户。adduser
似乎要求您为每个组添加一次调用命令。
adduser
更友好,因为它设置了帐户的主文件夹和其他设置(例如,在登录时自动加载系统统计信息和通知),而useradd
只是创建用户。
基本区别是“adduser”将创建主目录并将骨架文件添加到该目录,其中“useradd”不会创建任何主目录和骨架文件!
adduser尝试:
Adding user `try' ... Adding new group `try' (1001) ... Adding new user `try' (1001) with group `try' ... Creating home directory `/home/try' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for try Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
useradd try1:
# ll /home/ total 20 drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./ drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../ drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/ drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/ drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/ root@chef-workstation:/home/ashishk#