专栏首页Opensource翻译专栏Linux useradd命令简介【Linux-Command line】

Linux useradd命令简介【Linux-Command line】

使用useradd命令添加用户(并根据需要自定义其帐户)。

图片来源:Opensource.com

添加用户是任何计算机系统上最基本的练习之一。 本文重点介绍如何在Linux系统上执行此操作。

在开始之前,我要提及三个基本原则。 首先,与大多数操作系统一样,Linux用户需要一个帐户才能登录。本文专门介绍本地帐户,而不是LDAP等网络帐户。 其次,帐户既有名称(称为用户名)又有数字(称为用户ID)。 第三,通常将用户分组。 组也有一个名称和组ID。

如你所料,Linux包含一个用于添加用户的命令行实用程序, 它称为useradd。 您还可以找到命令adduser。 为了方便起见,许多发行版都将此符号链接添加到useradd命令。

让我们看一下useradd

|注意:本文描述的默认设置反映了Red Hat Enterprise Linux 8.0中的默认设置。在其他Linux发行版或其他Unix操作系统(例如FreeBSD或Solaris)中,你可能会发现这些文件以及某些默认值的细微差别。

默认行为

useradd的基本用法非常简单:只需提供用户名即可添加用户。

在此示例中,useradd命令创建一个名为sonny的帐户。 还创建了一个具有相同名称的组,并将sonny放入其中以用作主要组。 根据配置文件/ etc / default / useradd和/etc/login.defs中的默认值和值,应用例如language和shell的其他参数。 对于单个个人系统或小型单服务器业务环境而言,此举通常足够了。

尽管上面的两个文件控制useradd的行为,但是用户信息存储在/ etc目录中的其他文件中,在本文中我将始终引用该文件。

自定义行为

命令行允许在管理员需要更好地控制(例如指定用户的ID号)时进行自定义。

用户和组ID号

默认情况下,useradd尝试对用户ID(UID)和主要组ID(GID)使用相同的数字,但是并无保证。 尽管UID和GID不必匹配,但管理员在进行匹配时更易于管理。

我只是要说明的情况。 假设这次我为Timmy添加另一个帐户。 比较两个用户(sonny和timmy),结果表明用户和他们各自的主要组都是使用getent命令创建的。

遗憾的是,用户的UID和主GID都不匹配。 因为默认行为是将下一个可用的UID分配给用户,然后尝试将相同的号码分配给主要组。 但是,如果已经使用了该编号,则将下一个可用的GID分配给该组。 为了解释发生的情况,我假设一个存在一个GID为1001的组,并输入命令进行确认。

ID为1001的组簿导致GID减少了一个。 这是一个示例,表明系统管理员需要对用户创建过程进行更多控制。 若要解决此问题,我必须首先确定下一个将匹配的可用用户和组ID。 命令“getent group”和“getent passwd”将有助于确定下一个可用数字。 可以使用“-u”参数传递该数字。

指定ID有另一个很好的理由,针对访问远程系统上的文件的用户,可使用网络文件系统(NFS)。 当所有客户端和服务器系统都具有为给定用户配置的相同ID时,NFS易于管理。 我在名为using autofs to mount NFS shares的文章中对此进行了更详细的介绍。

更多定制

但是,其他帐户参数常常需要被指定给用户。 以下简短示例是你可能需要使用的常见定制。

comment

comment选项是纯文本字段,用于使用“-c”参数提供简短描述或其他信息。

Groups

可以为一个用户分配一个主要组和多个次要组。 “-g”参数指定主要组的名称或GID。 如果未指定,则“useradd”将创建一个与用户同名的主组(如上所示)。 “-G(大写)”参数用于传递用户即将放入的以逗号分隔的组列表; 这些被称为次要群体。

主目录

“useradd”的默认行为是在“/ home”中创建用户的主目录。 但是,可以使用以下参数覆盖主目录的不同方面。“ -b”设置可以放置用户主页的另一个目录。 例如,使用“/ home2”而不是默认的“/ home”。

“-d”允许你使用与用户不同的名称指定主目录。

skeleton目录

“-k”指示要用“/ etc / skel”目录中的任何文件填充新用户的新主目录。 这些通常是外壳程序配置文件,但是它们可以是系统管理员希望提供给所有新用户的任何文件。

Shell

“-s”参数可用于指定外壳。 如果未指定其他任何内容,则使用默认值。 例如,以下在默认配置文件中定义了shell bash,但是Wally请求了zsh。

安全

安全性是用户管理的重要组成部分,因此useradd命令有多个可用选项。 可以使用“-e”参数为用户帐户指定有效日期,格式为年-月-日(YYYY-MM-DD)。

如果密码过期,也可以自动禁用帐户。 “-f”参数可设置密码过期后至禁用帐户之前的天数。 Zero是立即生效的。

现实实例

实际上,在创建新用户帐户时可以使用其中几个自变量。 例如,如果需要为Perry创建一个帐户,则可以使用以下命令:

请参阅以上各节以了解每个选项。 使用以下方法验证结果:

一些最终建议

对于任何Unix(不仅仅是Linux)管理员,useradd命令都是“must know”。 了解它的所有选项很重要,因为你想一次性就顺利完成用户创建。 这意味着要有一个经过深思熟虑的命名约定,其中包括为整个企业(而不是单个系统)的用户保留的专用UID / GID范围,尤其是为成长中的组织工作时。

原文链接:https://opensource.com/article/19/10/linux-useradd-command

原文作者:Alan Formy-Duval

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 9个基本的GNU binutils 工具【Linux-Command-line】

    想象一下,尽管无法访问软件的源代码,但仍然能够理解软件的实现方式,在其中找到漏洞,并且(更好的是)修复了错误。 凡此种种都源于二进制形式。 听起来像是拥有超能力...

    QRosie
  • 如何将用户添加到Linux桌面【Linux-Command line】

    我在 useradd command 上发布的文章阐述了对Linux系统用户管理的深层理解。Useradd 是一个命令行工具,但你也可以在Linux上通过图形方...

    QRosie
  • intermediate awk 脚本指南【Linux-Command line】

    你可以使用逻辑运算符“and”(写作“&&”)和“or”(写作“||”)为条件添加特异性。

    QRosie
  • 邹建平:智能化大数据平台打造实践

    12月15日,由腾讯云主办的首届“腾讯云+社区开发者大会”在北京举行。本届大会以“新趋势•新技术•新应用”为主题,汇聚了超40位技术专家,共同探索人工智能、大数...

    云加社区技术沙龙
  • 互联网思维下该如何研究用户,哪里寻求大数据资源?

    用户1756920
  • 【涨姿势】绝不装逼的大数据科普(二)

    言归正传,今天带来浅显易懂的大数据科普(二),会围绕一些大数据的关键概念重点普及一下,如果您已经很懂了也不要跑,本文可作为您的最佳厕所读物。 数据(data)这...

    小莹莹
  • 关于房价,房产大数据能告诉你真相吗?

    如果买卖或者租过房,你一定会对市场上五花八门的房产交易App有了解。市面上还有另一类和房产买卖有关的App,它们本身也许不是交易平台,却可以提供基于大数据的购房...

    DT数据侠
  • 方差、标准差、协方差

    方差(Variance)是各个数据与平均数之差的平方的平均数,用来度量随机变量与其数学期望之间的偏离程度。

    yangzelong
  • 大数据人才职业规划

    作为IT类职业中的“大熊猫”,大数据人才(数据工程师,数据分析师,数据挖掘师,算法工程师等)、在国内人才市场可谓是一颗闪耀的新星。由于刚刚出于萌芽阶段,这个领域...

    陆勤_数据人网
  • 【推荐】移动互联时代的通信大数据价值将迎来兑现

     运营商已跨入大数据时代 由于网络的快速发展和智能机的快速拓展,目前已经进入移动互联网时代,移动数据流量大幅增加。   造就该趋势主要有两个原因:第一,...

    小莹莹

扫码关注云+社区

领取腾讯云代金券