在Linux上掌握用户群

在Linux系统管理的用户群体很容易,但这些命令可以更灵活比你可能知道。

用户组发挥在Linux系统中的重要作用。他们对用户的选择组提供一种简单的方式来彼此共享文件。它们还允许系统管理员更有效地管理用户的权限,因为他们可以将权限分配给组而不是个人用户。

而每当用户帐户添加到系统中,一般创建一个用户组,还是有很多了解它们是如何工作以及如何与他们合作。

一个用户,一个组?

在Linux系统中大多数用户帐户设置与用户和组名相同。用户“JDOE”将成立一个名为“JDOE”组,将是新创建的组的唯一成员。用户的登录名,用户ID和组ID将被添加到/ etc / passwd文件的/ etc /组当加入帐户文件,如本例所示:

$须藤useradd的JDOE $ grep的JDOE / etc / passwd文件JDOE:X:1066:1066:李四:/首页/ JDOE:/ bin / sh的$ grep的JDOE / etc / group中JDOE:X:1066:

在这些文件中的值,使系统的文本(JDOE)和用户ID的数字(1066)版本之间的转换 - JDOE是1066和1066是JDOE。

所分配的UID(用户ID)和GID(组ID)为每个用户都大致相同,并依次配置。如果李四在上面的例子是最近添加的用户,下一个新的用户可能会被分配1067作为他们的用户和组ID。

GID = UID?

UID和GID可以不同步。例如,如果您使用添加一组GROUPADD未指定组id命令,系统将分配下一个可用的组ID(在这种情况下,1067)。接下来用户将被添加到系统中,然后将得到1067的UID,但1068的GID。

您可以通过指定一个较小的组ID,当你添加一个组,而不是默认的要避免此问题。在此命令中,我们添加一个新的组,并提供一个GID比用于用户帐户的范围小。

$ sudo的GROUPADD -g 500 DEVOPS

如果你的作品好,你可以在创建账户指定一个共享组。例如,您可能希望新的开发人员分配到DEVOPS组,而不是把自己的组每一个。

$ sudo的useradd的-g人员bennyg $ grep的bennyg / etc / passwd文件bennyg:X:1064:50 :: /家/ bennyg:/ bin / sh的

初级群体

实际上有两种类型的组 - 小学和中学。

主组是记录在其中的一/ etc / passwd文件文件,当帐户被建立配置。当用户创建一个文件,它是与它关联的主要组。

$ WHOAMI JDOE $ grep的JDOE / etc / passwd文件JDOE:X:1066:1066:李四:/首页/ JDOE:/斌/庆典^ |+ --------主组$触摸的newfile $ LS -l的newfile -rw-RW-R-- 1 jdoe的jdoe的0 7月16日15时22的newfile ^ |+ --------主组

中学组是那些用户可能被添加到一旦他们已经拥有账户。辅助组成员在/ etc / group文件中显示出来。

$ grep的DEVOPS / etc / group中DEVOPS:X:500:SHS,jadep ^ |为SHS和jadep + --------次要组

的/ etc /组文件姓名分配给用户群(例如,500 = DEVOPS)并记录次级组成员。

首选惯例

具有每个用户自己的组的成员,并且任选地任何数量的次级组中的一个成员的约定允许用户更容易地分离文件不同于他们需要共享与同事个人。当用户创建一个文件,各个用户组的成员,他们属于不一定有机会。用户将不得不使用chgrp命令命令将文件与次级组相关联。

金窝银窝不如自己家里的狗窝

添加一个新的帐户时,一个重要的细节是,useradd的命令不一定添加一个主目录为新用户。如果你想要这个步骤只在某些时候采取,你可以添加-m(认为​​这是“使家居”选项)与你的useradd的命令。

$ sudo的useradd的-m -g DEVOPS -c “李四” jdoe2

在此命令的选项:

  • -m创建主目录,并启动文件填充它
  • -G指定组的用户分配给
  • -C增加了一个描述符的帐户(通常是人的姓名)

如果你想创建一个主目录所有的时候,您可以通过编辑更改默认行为/etc/login.defs中文件。更改或添加了CREATE_HOME变量的设置,并将其设置为“yes”:

$ grep的CREATE_HOME /etc/login.defs的CREATE_HOME是

另一种选择是为自己设定了一个别名,这样useradd的始终使用-m选项。

别名$ useradd的=” useradd的-m”

确保你的别名添加到您的〜/ .bashrc或者类似的启动文件,使其永久化。

展望/etc/login.defs中

这里有一个命令列表中/etc/login.defs的文件中的所有设置。该grep的命令隐藏注释和空行。

$猫/etc/login.defs文件|grep的-v “^#” |grep的-v “^ $” MAIL_DIR在/ var /邮件FAILLOG_ENAB是LOG_UNKFAIL_ENAB没有LOG_OK_LOGINS没有SYSLOG_SU_ENAB是SYSLOG_SG_ENAB是FTMP_FILE在/ var /日志/ BTMP SU_NAME苏HUSHLOGIN_FILE .hushlogin ENV_SUPATH PATH =在/ usr / local / sbin中:在/ usr / local / bin目录:/ usr / sbin目录:在/ usr / bin中:/ sbin目录:/ bin中ENV_PATH PATH =在/ usr / local / bin目录:在/ usr / bin中:/ bin中:在/ usr /本地/游戏:在/ usr /游戏TTYGROUP TTY TTYPERM 0600 ERASECHAR0177 KILLCHAR 025 UMASK 022 PASS_MAX_DAYS 99999个PASS_MIN_DAYS 0 PASS_WARN_AGE 7 UID_MIN 1000 UID_MAX 60000 GID_MIN 1000 GID_MAX 60000 LOGIN_RETRIES 5 LOGIN_TIMEOUT 60 CHFN_RESTRICT RWH DEFAULT_HOME是CREATE_HOME是<=== USERGROUPS_ENAB是ENCRYPT_METHOD SHA512

请注意在这个文件中的各种设置确定用户ID的范围,使用口令老化等环境中使用沿(例如,的umask)。

如何显示用户的组

用户可以是多个组因各种原因的成员。组成员给予组拥有的文件和目录的用户访问,而有时这种行为是至关重要的。要生成一些用户所属,使用该组的列表命令。

$组JDOE JDOE:JDOE ADM管理CDROM须藤浸plugdev的lpadmin人员sambashare

您可以通过键入“组”没有一个参数列表自己的组。

如何将用户添加到组

如果您需要将现有用户添加到另一个组,你可以做,像这样的命令:

$ sudo的usermod命令-a -G DEVOPS JDOE

您也可以通过指定用逗号分隔的列表中的组添加用户到多个组:

$ sudo的usermod命令-a -G DEVOPS,MGRS JDOE

-一种论证手段“增加”,而-G列出组。

您可以从一组通过编辑删除用户的/ etc /组文件,并从列表中删除的用户名。usermod命令还可以具有用于从组中删除一个成员的选项。

鱼:X:16:尼莫,鲂,鲨鱼|V鱼:X:16:尼莫,鲂

包起来

添加和管理用户组并不是特别困难,但在如何配置账户的一致性可以使它从长远来看更容易。

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。
有关:

版权所有©2019Raybet2

IT薪资调查:结果是