Skip to content
DAILY QUOTE

“ ”

在Linux中,用户组用于批量管理权限。把权限赋给某个组后,组内用户就可以继承对应权限。

一、用户组管理

对用户组的操作,本质上是在读写/etc/group等系统配置文件。

功能命令示例参数说明
添加组groupadd -g 520 dev-g指定GID;不指定时系统会自动分配
修改组groupmod -g 666 -n newdev olddev-g修改GID;-n修改组名
删除组groupdel dev如果该组是某个用户的主组,通常无法直接删除

二、核心配置文件

Linux不只靠名字识别用户和组,更关键的是配置文件中的UID和GID。

1./etc/passwd

/etc/passwd保存用户基本信息。每一行代表一个用户,由7个字段组成,通过:分隔。

示例:

text
root:x:0:0:root:/root:/bin/bash

字段含义:

  1. 用户名:登录时输入的名称。
  2. 口令占位符:通常显示为x,表示加密密码保存在/etc/shadow中。
  3. UID:用户ID,0代表root用户。
  4. GID:主组ID,对应/etc/group中的组ID。
  5. 注释:用户描述信息。
  6. 主目录:用户登录后的默认目录。
  7. 登录Shell:用户使用的命令解释器。

2./etc/group

/etc/group保存用户组信息。

示例:

text
dev:x:520:user1,user2

格式:

text
组名:组密码占位符:GID:组内用户列表

3./etc/shadow

/etc/shadow专门存放加密后的密码。

/etc/passwd需要让很多程序读取,权限通常较开放。为了安全,真实密码信息会放到只有root能读取的/etc/shadow中。

三、常用技巧

  • id:查看当前用户的UID、GID以及所属用户组。
  • id 用户名:查看指定用户的身份信息。
  • groups:查看当前用户所属用户组。
  • newgrp 组名:临时切换当前有效组。