良许Linux教程网 干货合集 useradd 命令和 adduser 命令二者的区别是什么?

useradd 命令和 adduser 命令二者的区别是什么?

在 Linux 中创建新用户时,我们可以选择使用 adduser 或 useradd 命令。那么,useradd 和 adduser 的区别是什么呢?实际使用的时候应该用哪一个比较好呢?下面我们来详细看一下。

useradd 命令和 adduser 命令二者的区别是什么?useradd 命令和 adduser 命令二者的区别是什么?

2AHMRJ4 futuristic sci-fi space war ship hangar tunnel corridor with reflective glass windows 3d illustration background wallpaper

adduser 和useradd 命令的区别

useradd 命令是内置的 Linux 命令,在任何 Linux 系统中都可用。然而,使用这种低级别的工具创建用户是比较繁琐的,因为默认情况下,它不会创建主目录和用户密码。

adduser 不是标准的 Linux 命令,它本质上是一个 perl 脚本,在后台调用 useradd 命令。这个高级实用程序在 Linux 中创建用户的时候效率更高,它提供了创建主目录、设置密码以及其他一些参数的选项。

下面我们来详细看一下。

useradd 命令

我们在《使用 useradd 命令在 Linux 中添加新用户》中介绍过useradd的用法,大家感兴趣的可以看一下。现在我们再来看下其 useradd 的默认用法,你使用过如下命令吗?

useradd new_user

这个命令默认不是创建一个完整的用户,即使为其设置了密码,但还需要使用其他选项。它会在 /etc/passwd 文件中添加以下内容:

useradd 命令和 adduser 命令二者的区别是什么?useradd 命令和 adduser 命令二者的区别是什么?

我们在《Linux 中查看所有用户的三种方法》提到过 /etc/passwd 文件(如果不清楚的话大家可以再看一下)。这样看起来,用户似乎是创建成功了,但实际用的话,会发现某些地方不对劲。

首先,在 /etc/passwd 文件中,该新建用户的第二个字段中包含 “x”,这意味着在 /etc/shadow 中,密码是一个占位符,由于还没有设置密码,所以这个用户将无法登录。

第二个问题,该用户没有主目录,即 /home/test 不存在。即使设置了密码,如果用户登录的话,也会发生错误。因为 Linux 可能会阻止没有主目录的用户登录。最有可能的情况是,用户即使可以登录系统,也只是在文本模式下,但是不允许其创建他的主目录。

第三个问题,其登录的默认 shell 是 sh,而不是bash,bash 是大多数 Linux 发行版上的默认 shell。

以上问题,可以在 /etc/login.defs 中修改。

adduser 命令

adduser 命令在某些 Linux 发行版上不可用,在某些 Linux 中,它是 useradd 的一个软连接,在另外一些 Linux 系统中,它是一个 perl 脚本

adduser 命令是一个交互式高级实用程序,它以 useradd 为后台,且自动配置 /etc/login.defs。在基于 Debian 的系统中,man 手册中都会建议使用它而不是 useradd 命令。 使用 adduser 命令创建用户,它会引导你输入一系列的参数,如下图:

useradd 命令和 adduser 命令二者的区别是什么?useradd 命令和 adduser 命令二者的区别是什么?

输入参数,回车,之后系统会创建一个完整的用户账户,包含主目录。如此,新用户就可以正常登录了。 要使用 useradd 实现相同的功能,其命令类似于:

sudo useradd -d /home/test -m -s/bin/bash \ -c FullName,Phone,OtherInfo test && passwd test

上述命令中的 -c 选项可以删掉,其后面用逗号分割的内容是要添加到 /etc/passwd 中的内容。即便如此,useradd 命令还是比 adduser 额外多了两个选项需要输入。 adduser 命令有一个可用的选项列表,如下是我们列出的一些最常用的(有关更多的信息,大家可参考帮助信息或者 man 手册)。

add_extra_groups:将新用户添加到配置文件中定义的额外组。

adduser 的配置文件可以允许我们设置一些创建用户时所要使用的默认值,比如:

添加额外组

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部