千家信息网

Linux用户组如何运用

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇"Linux用户组如何运用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Linu
千家信息网最后更新 2026年10月31日Linux用户组如何运用

这篇"Linux用户组如何运用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Linux用户组如何运用"文章吧。

一个用户一个用户组?

Linux 系统中多数用户账户被设为用户名与用户组名相同。用户 jdoe 会被赋予一个名为jdoe 的用户组,且成为该新建用户组的唯一成员。如本例所示,该用户的登录名,用户 id 和用户组id 在新建账户时会被添加到 /etc/passwd 和 /etc/group 文件中:

$ sudo useradd jdoe$ grep jdoe /etc/passwdjdoe:x:1066:1066:Jane Doe:/home/jdoe:/bin/sh$ grep jdoe /etc/groupjdoe:x:1066:

这些文件中的配置使系统得以在文本(jdoe)和数字(1066)这两种用户id 形式之间互相转换—— jdoe 就是 1006,且 1006 就是jdoe 。

分配给每个用户的 UID(用户 id)和 GID(用户组 id)通常是一样的,并且顺序递增。若上例中 Jane Doe 是最近添加的用户,分配给下一个新用户的用户 id 和用户组 id 很可能都是 1067。

GID = UID?

UID 和 GID 可能不一致。例如,如果你用 groupadd 命令添加一个用户组而不指定用户组 id,系统会分配下一个可用的用户组 id(在本例中为 1067)。下一个添加到系统中的用户其 UID 会是 1067 而 GID 则为 1068。

你可以避免这个问题,方法是添加用户组的时候指定一个较小的用户组 id 而不是接受默认值。在下面的命令中我们添加一个用户组并提供一个 GID,这个 GID 小于用于用户账户的 GID 取值范围。

$ sudo groupadd -g 500 devops

创建账户时你可以指定一个共享用户组,如果这样对你更合适的话。例如你可能想把新来的开发人员加入同一个 DevOps 用户组而不是一人一个用户组。

$ sudo useradd -g staff bennyg$ grep bennyg /etc/passwdbennyg:x:1064:50::/home/bennyg:/bin/sh

主要用户组和次要用户组

用户组实际上有两种:主要用户组primary group和次要用户组secondary group。

主要用户组是保存在 /etc/passwd 文件中的用户组,该用户组在账户创建时配置。当用户创建一个文件时,用户的主要用户组与此文件关联。

$ whoamijdoe$ grep jdoe /etc/passwdjdoe:x:1066:1066:John Doe:/home/jdoe:/bin/bash            ^            |            +-------- 主要用户组$ touch newfile$ ls -l newfile-rw-rw-r-- 1 jdoe jdoe 0 Jul 16 15:22 newfile                  ^                  |                  +-------- 主要用户组

用户一旦拥有账户之后被加入的那些用户组是次要用户组。次要用户组成员关系在 /etc/group 文件中显示。

$ grep devops /etc/groupdevops:x:500:shs,jadep         ^         |         +-------- shs 和 jadep 的次要用户组

/etc/group 文件给用户组分配组名称(例如 500 = devops)并记录次要用户组成员。

首选的准则

每个用户是他自己的主要用户组成员,并可以成为任意多个次要用户组成员,这样的一种准则允许用户更加容易地将个人文件和需要与同事分享的文件分开。当用户创建一个文件时,用户所属的不同用户组的成员不一定有访问权限。用户必须用 chgrp 命令将文件和次要用户组关联起来。

哪里也不如自己的家目录

添加新账户时一个重要的细节是 useradd 命令并不一定为新用户添加一个家目录/home家目录。若你只有某些时候想为用户添加家目录,你可以在 useradd 命令中加入 -m 选项(可以把它想象成"安家"选项)。

$ sudo useradd -m -g devops -c "John Doe" jdoe2

此命令中的选项如下: -m 创建家目录并在其中生成初始文件 -g 指定用户归属的用户组 -c 添加账户描述信息(通常是用户的姓名) 若你希望总是创建家目录,你可以编辑 /etc/login.defs 文件来更改默认工作方式。更改或添加 CREATE_HOME 变量并将其设置为 yes:

$ grep CREATE_HOME /etc/login.defsCREATE_HOME     yes

另一种方法是用自己的账户设置别名从而让 useradd 一直带有 -m 选项。

$ alias useradd=’useradd -m’

确保将该别名添加到你的~/.bashrc 文件或类似的启动文件中以使其永久生效。

深入了解 /etc/login.defs

下面这个命令可列出 /etc/login.defs 文件中的全部设置。下面的grep 命令会隐藏所有注释和空行。

$ cat /etc/login.defs | grep -v "^#" | grep -v "^$"MAIL_DIR        /var/mailFAILLOG_ENAB            yesLOG_UNKFAIL_ENAB        noLOG_OK_LOGINS           noSYSLOG_SU_ENAB          yesSYSLOG_SG_ENAB          yesFTMP_FILE       /var/log/btmpSU_NAME         suHUSHLOGIN_FILE  .hushloginENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesTTYGROUP        ttyTTYPERM         0600ERASECHAR       0177KILLCHAR        025UMASK           022PASS_MAX_DAYS   99999PASS_MIN_DAYS   0PASS_WARN_AGE   7UID_MIN                  1000UID_MAX                 60000GID_MIN                  1000GID_MAX                 60000LOGIN_RETRIES           5LOGIN_TIMEOUT           60CHFN_RESTRICT           rwhDEFAULT_HOME    yesCREATE_HOME         yes

注意此文件中的各种设置会决定用户 id 的取值范围以及密码使用期限和其他设置(如 umask)。

如何显示用户所属的用户组

出于各种原因用户可能是多个用户组的成员。用户组成员身份给与用户对用户组拥有的文件和目录的访问权限,有时候这种工作方式是至关重要的。要生成某个用户所属用户组的清单,用groups 命令即可。

$ groups jdoejdoe : jdoe adm admin cdrom sudo dip plugdev lpadmin staff sambashare

你可以键入不带任何参数的 groups 命令来列出你自己的用户组。

如何添加用户至用户组

如果你想添加一个已有用户至别的用户组,你可以仿照下面的命令操作:

$ sudo usermod -a -G devops jdoe

你也可以指定逗号分隔的用户组列表来添加一个用户至多个用户组:

$ sudo usermod -a -G devops,mgrs jdoe

参数 -a 意思是"添加",-G 指定用户组列表。

你可以编辑/etc/group 文件将用户名从用户组成员名单中删除,从而将用户从用户组中移除。usermod 命令或许也有个选项用于从用户组中删除某个成员。

fish:x:16:nemo,dory,shark          |          Vfish:x:16:nemo,dory

以上就是关于"Linux用户组如何运用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

用户 用户组 文件 命令 成员 账户 目录 内容 系统 分配 多个 就是 所属 面的 重要 准则 别名 参数 文章 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 广州紫鲸互联网科技有限公司 互联网科技公司的优势 互联网科技与金融科技 互联网金融 科技 互联网金融与金融科技 互联网金融公司科技 成都互联网科技公司 天津摩尔互联网科技 互联网校园科技培训 互联网经济与金融科技 深圳市优智互联网科技有限公司 互联网金融科技展 烟台灵鸽互联网科技有限公司 互联网时代的科技公司 互联网营销推广黑科技 信承诺互联网科技有限公司 广州梦谷互联网科技有限公司领导 科技美学互联网 艺术 小牛互联网科技有限公司地址 山东特亿宝互联网科技有限公司 互联网与科技发展 与互联网科技公司 互联网络科技有限公司 四个字互联网科技公司取名 西安小鹰速贷互联网科技有限公司 威龙国际互联网科技公司 华中科技大学互联网的牛人 广州梦谷互联网科技有限公司领导 长沙易易互联网科技有限公司
0