Linux用户与组介绍

在 Linux 系统中,用户和组是管理文件和目录权限、进程和其他系统资源的关键概念

用户 (User)

  • 定义:用户是 Linux 系统中的一个实体,每个用户都有一个唯一的用户名和用户 ID (UID)。用户可以登录系统、执行命令和访问文件。
  • 类型

    • 超级用户 (root):拥有系统中所有文件和资源的最高权限,可以执行任何操作。
    • 普通用户:权限受限,只能访问自己的文件和系统中允许的资源。
  • 用户管理命令

    • 创建用户:useradd [选项] 用户名
    • 修改用户:usermod [选项] 用户名
    • 删除用户:userdel [选项] 用户名
    • 设置密码:passwd 用户名

组 (Group)

  • 定义:组是一组用户的集合,用于简化权限管理。每个用户可以属于一个或多个组,每个组都有一个唯一的组名和组 ID (GID)。
  • 类型

    • 主要组:用户的主要组,用于文件和目录的默认权限。
    • 次要组:用户可以同时属于多个次要组,用于特定的权限管理。
  • 组管理命令

    • 创建组:groupadd [选项] 组名
    • 修改组:groupmod [选项] 组名
    • 删除组:groupdel [选项] 组名
    • 将用户添加到组:usermod -a -G 组名 用户名

Linux 用户与组与其他系统的不同

Linux 的用户和组管理与其他操作系统(如 Windows 和 macOS)有一些显著的不同:

1. 权限模型

  • Linux:Linux 使用基于用户和组的权限模型,每个文件和目录都有所有者、组和其他用户的权限设置。权限分为读 (r)、写 (w) 和执行 (x)。
  • Windows:Windows 使用基于访问控制列表 (ACL) 的权限模型,可以为每个用户和组设置详细的权限。
  • macOS:macOS 基于 Unix,也使用类似 Linux 的用户和组权限模型,但同时支持 ACL。

2. 用户和组管理

  • Linux:Linux 的用户和组管理主要通过命令行工具(如 useraddusermodgroupadd 等)进行,也可以通过图形界面工具(如 Users and Groups)进行管理。
  • Windows:Windows 的用户和组管理主要通过图形界面工具(如 Computer Management)进行,也可以通过命令行工具(如 net usernet localgroup)进行管理。
  • macOS:macOS 的用户和组管理可以通过图形界面工具(如 System Preferences)进行,也可以通过命令行工具(如 dscl)进行管理。

3. 超级用户权限

  • Linux:Linux 的超级用户是 root,拥有系统中所有文件和资源的最高权限。普通用户可以通过 sudo 命令临时提升权限。
  • Windows:Windows 的超级用户是 Administrator,拥有系统中所有文件和资源的最高权限。普通用户可以通过 Run as administrator 提升权限。
  • macOS:macOS 的超级用户是 root,但默认情况下是禁用的。普通用户可以通过 sudo 命令临时提升权限。

4. 用户和组文件

  • Linux:Linux 的用户和组信息存储在 /etc/passwd/etc/group 文件中。
  • Windows:Windows 的用户和组信息存储在 Active Directory 或本地用户和组数据库中。
  • macOS:macOS 的用户和组信息存储在 /etc/passwd/etc/group 文件中,同时也支持目录服务(如 Open Directory)。

总结

Linux 的用户和组管理基于 Unix 的传统,使用基于用户和组的权限模型,通过命令行工具进行管理。与其他操作系统相比,Linux 的用户和组管理更加灵活和强大,适用于需要精细权限控制的环境。通过理解这些概念和差异,用户可以更好地管理和保护 Linux 系统中的资源。

最后修改:2024 年 10 月 25 日
喜欢就支持一下吧