adduser
和useradd
命令有什么区别?#1 楼
useradd
是使用系统编译的本机二进制文件。但是,adduser
是在后端使用
useradd
二进制文件的perl脚本。adduser
比后端useradd
更易于使用和交互。所提供的功能没有区别。来源:“ adduser”和“ useradd”之间有什么区别?
评论
带有-m选项的useradd将创建主目录。
– Richsinn
14年8月8日,0:02
含义不是那么有趣,语义是。就像adduser(8)一样,它更加用户友好,并且默认情况下按照您期望的方式创建和设置用户。而useradd(8)只执行您要执行的操作,因此要创建主目录,必须告诉它为您创建它。
–安德斯
2014-09-22 14:14
-1:不能说出命令之间的根本区别:它们具有不同的角色,一个是底层工具。一个是perl脚本,另一个是二进制文件这一事实无关紧要。另外,功能上也有所不同。
–MestreLion
15年1月10日在8:20
我每次都必须在Google上搜索...我该如何帮助自己记住哪个是哪个?
– Quentin Skousen
16年1月22日在20:10
@kkhugs对我来说,“ adduser”感觉最直观,因为它在语义上听起来像是英文的命令,而另一个听起来不像英语。如果您将其记住为两者中的“最直观”,则也可以尝试将其记住为首选/更容易的一种。
– pzkpfw
16年5月1日在10:41
#2 楼
从命令行创建新用户时,请始终使用adduser
(删除用户时使用deluser
)。 (如果要编写脚本,尤其是针对可移植性,则可能要改用低级实用程序-并且adduser
/ deluser
可能并非在所有发行版中都可用,例如在SuSE上。)useradd
,userdel
和usermod
命令是低级实用程序,出于历史原因,它们存在,而adduser/deluser
做正确的事™。 (我记得以为user*
是字母adduser/deluser
之后的字母,因此它是“更糟糕的”。)根据各自的联机帮助页(在Ubuntu 12.04 Precise Pangolin上,即Debian衍生系统) )。
adduser
的联机帮助说:(添加了强调。)
adduser
和addgroup
将用户和组添加到系统根据/etc/adduser.conf
中的命令行选项和配置信息。它们是
useradd
,groupadd
和usermod
程序等底层工具的更友好的前端,
默认情况下选择符合Debian策略的UID和GID值,创建具有骨架配置的home
目录,并运行自定义脚本和其他功能。
adduser
和addgroup
可以在以下五个模式之一中运行:useradd
的联机帮助页说:useradd
是用于添加用户的低级实用程序。在Debian上,管理员应该通常改用
adduser(8)
。另请参见:“ adduser”和“ useradd”有什么区别? (在超级用户上)
评论
我永远不记得哪一个,所以这对我来说是愚蠢的助记符,如果它可以帮助任何人:)“用户”押韵与“失败者”,“失败者”排在最后。因此:adduser,deluser。
– Mads Skjern
15年3月13日在12:27
我实际上不同意“ Always user adduser”:对于自动脚本,我更喜欢useradd,因为它始终存在,非交互且不特定于发行版。
–晚上
2015年4月15日10:47
我在openSUSE上尝试了adduser,但它不存在。(13.2)
–cst1992
16年5月24日在7:18
@ cst1992是的,我已经编辑了答案以反映这一点。奇怪的是,当我尝试在工作的SuSE 11系统上找到adduser时,我发现有一个adduser联机帮助页,但是没有二进制文件(也没有deluser联机帮助页和命令)。
–zrajm
16年5月24日在15:40
在Red Hat上/ usr / sbin / adduser-> useradd
–莱文
17年8月2日at 1:10
#3 楼
adduser
:添加具有完整个人资料和信息(通过,配额,权限等)的用户。useradd
:仅添加具有其姓名的用户(如果要添加仅具有名称的临时用户,其他不需要信息)评论
+1,欢迎光临!我对无法解释他们先前的不赞成票的人投了赞成票。保持!优秀的程序员总是名列前茅-(并且不要在没有解释的情况下投下反对票)。 :)
– Ricalsin
2014年8月9日在2:38
#4 楼
另外两个差异导致在某些特定情况下,最好使用useradd。在某些较新的发行版中,包括Ubuntu 14.4,adduser会提示您输入密码和“ gecos”等信息(手指命令的数据)。这意味着它不太适合从脚本调用(信用:Wernight的评论中已经提到过)。
可以通过传递空参数来抑制提示:
adduser --disabled-password --gecos "" USER
useradd
允许您通过-G
选项传递多个附加组来添加用户。 adduser
似乎要求您为每个组添加一次调用命令。评论
在Ubuntu 16.04上不起作用。
–answeranswerker
17年2月10日,0:55
#5 楼
adduser
比较友好,因为它可以设置帐户的主文件夹和其他设置(例如,在登录时自动加载系统统计信息和通知),而useradd
只是创建用户。评论
错误。 useradd可以使用-m创建主目录,使用-p设置密码,使用-k创建框架文件,以及使用-G将用户添加到组。
–ychaouche
18年2月21日在11:38
#6 楼
基本区别是“ adduser”将创建主目录并将骨架文件添加到该目录,而“ useradd”将不会创建任何主目录和骨架文件!adduser try:
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#
评论
错误。查看以前的评论
–ychaouche
18年2月21日在11:42
#7 楼
我还将指出,adduser
并不总是具有-M
选项,并且也不尊重--system
标志,该标志专门指出:请注意,useradd不会为此创建主目录用户,无论/etc/login.defs(CREATE_HOME)中的默认设置如何。如果要创建系统帐户的主目录,则必须指定-m选项。
如果要创建没有主目录的系统用户,请使用
useradd --system -M
。#8 楼
使用adduser
和useradd
的最大区别是:通过
adduser
命令,将默认创建用户的home文件夹。通过
useradd
命令,没有home用户的文件夹。所以我建议您使用
adduser
而不是useradd
。
评论
有关超级用户和服务器故障的相同问题以及在Unix stackexchange上(相当详细的答案)
的确是一个很好的,有效的问题。问题不是人们在各自的情况下问这个问题,而是这个问题完全需要问。