我想validation用户帐户filesender_1是组valid_senders的成员。
当我查看/ etc / group时, filesender_1不存在:
valid_senders:x:12345:production_1
我把它写成:“production_1是组valid_senders中的唯一成员,其组ID是12345。”
然而:
当我看看/ etc / passwd时, filesender_1列出了valid_senders的组标识…
filesender_1:x:1515:12345:filesender_1:/local/home/filesender_1:/bin/sh
…所以我知道valid_senders是filesender_1的主要组。
这是一个令人惊讶的差异,或者/ etc / group是否正常只列出组是次要的成员?
是的,这种差异是正常的。 我已经看过很多次了,我停下来看看/etc/passwd和/etc/group文件,而是开始按照他们应该查看的方式查看组成员: getent group <groupname>和groups <username> 。
是的,小学和辅助小组之间是有区别的。 主要组是/ etc / passwd中显示的主要组,用户在login时显示主组。 对于用户在补充组中,其用户名将添加到/ etc / group中的组项中。 如果使用id -a <user>,它将显示主要和补充组。 补充组可以访问资源,但是任何新文件都是使用主组创build的。
您可以使用newgrp命令更改当前活动的主用户组的用户。
用户没有必要让主要组也成为次要组。 它所要做的就是减less用户可以参与的辅助组的数量。 传统上用户仅限于32个二级组,但近年来可能已经发生了变化。
usermod可以在一个命令中设置一个用户主和辅助组。 使用像puppet这样的configurationpipe理工具也可以做到这一点,而不用担心在不同types的unix上需要什么特定的命令。