Linux 用户与用户组管理常用命令

4次阅读

linux用户与组管理是资源访问控制基础,涵盖查看(whoami/id/groups)、创建删除(useradd/userdel/groupadd/groupdel)、权限配置(usermod/gpasswd)、切换提权(su/sudo/newgrp)等核心命令。

Linux 用户与用户组管理常用命令

Linux 系统通过用户(user)和用户组(group)实现资源访问控制。掌握基础管理命令,是日常运维、开发和系统配置的必备技能。

查看当前用户与组信息

快速确认身份和权限范围,避免误操作:

  • whoami:显示当前登录用户名
  • id:显示用户 UID、主组 GID 及所属全部组(含附加组),例如 id alice 查指定用户
  • groups:列出当前用户所属的所有组;groups username 查其他用户
  • /etc/passwd/etc/group:文本文件,记录用户与组基本信息(只读查看可用 catless

创建与删除用户

新建用户默认不设密码,需后续设置才能登录;删除时注意是否保留家目录:

  • useradd [选项] username
      • -m 自动创建家目录(推荐)
      • -s /bin/bash 指定默认 shell
      • -G sudo,dev 将用户加入多个附加组(逗号分隔,不加空格)
  • passwd username:为用户设置或重置密码(root 可设任意用户密码;普通用户只能改自己)
  • userdel username
      • 默认只删用户记录,保留家目录和邮件池
      • 加 -r 选项可一并删除家目录和邮箱

管理用户组

组是权限批量分配的核心载体,主组决定新建文件的默认属组,附加组用于扩展权限:

  • groupadd groupname:创建新组
  • groupdel groupname:删除空组(组内有用户时无法直接删除)
  • usermod -g groupname username:修改用户的主组(慎用,影响新建文件默认属组)
  • usermod -aG group1,group2 username:将用户追加到一个或多个附加组(-aG 中的 -a 表示 append,不可省略,否则会清空原有附加组)
  • gpasswd -M user1,user2 groupname:批量设置组成员列表(覆盖原成员)

切换用户与临时提权

安全执行高权限操作,避免长期使用 root:

  • su – username:切换到另一用户并加载其环境(带 - 才等效于重新登录);不加参数默认切至 root
  • sudo command:以 root 权限运行单条命令(需当前用户在 /etc/sudoers 中被授权)
  • sudo -isudo -s:获得 root 的交互式 shell(前者加载 root 环境,后者复用当前 shell 环境)
  • newgrp groupname:临时切换当前 shell 的主组(用于测试组权限,无需登出重进)
text=ZqhQzanResources