Linux用户与用户组管理详解

2025-04发布9次浏览

Linux用户与用户组管理详解

在Linux系统中,用户和用户组的管理是系统安全性和权限控制的重要组成部分。通过合理的用户和用户组配置,可以有效地保护系统的资源并分配适当的权限。

一、用户与用户组的基本概念

1. 用户

在Linux中,每个用户都有一个唯一的UID(User ID)。用户分为以下几类:

  • 超级用户(root):拥有最高权限,UID为0。
  • 系统用户:用于运行特定服务或守护进程,一般不能登录。
  • 普通用户:由管理员创建,用于日常操作。

2. 用户组

用户组是一个或多个用户的集合,用于简化权限管理。每个用户组有一个唯一的GID(Group ID)。用户组分为:

  • 主要用户组:用户创建时默认所属的组。
  • 附加用户组:用户可以属于多个附加组以获得额外权限。

二、用户与用户组管理命令

1. 创建用户

使用useradd命令创建新用户:

sudo useradd username

例如,创建一个名为testuser的用户:

sudo useradd testuser

设置密码:

sudo passwd testuser

2. 删除用户

使用userdel命令删除用户:

sudo userdel username

如果要同时删除用户的主目录,可以加上-r选项:

sudo userdel -r username

3. 修改用户信息

使用usermod命令修改用户属性。例如,将用户testuser添加到sudo组:

sudo usermod -aG sudo testuser

4. 创建用户组

使用groupadd命令创建新的用户组:

sudo groupadd groupname

5. 删除用户组

使用groupdel命令删除用户组:

sudo groupdel groupname

6. 查看用户与用户组信息

  • 查看所有用户:cat /etc/passwd
  • 查看所有用户组:cat /etc/group
  • 查看当前用户所属的组:groups
  • 查看指定用户所属的组:groups username

三、实践步骤

实践1:创建用户并设置密码

  1. 创建用户exampleuser
    sudo useradd exampleuser
    
  2. 设置密码:
    sudo passwd exampleuser
    

实践2:将用户加入多个组

  1. 创建两个组developersadmins
    sudo groupadd developers
    sudo groupadd admins
    
  2. 将用户exampleuser加入这两个组:
    sudo usermod -aG developers exampleuser
    sudo usermod -aG admins exampleuser
    
  3. 验证用户所属的组:
    groups exampleuser
    

实践3:删除用户及其主目录

  1. 删除用户exampleuser及其主目录:
    sudo userdel -r exampleuser
    

四、扩展知识

1. 用户权限管理

Linux中的文件和目录权限通过chmodchown命令进行管理。例如:

  • 修改文件权限:chmod 755 filename
  • 修改文件所属用户和组:chown user:group filename

2. 使用visudo管理sudo权限

可以通过编辑/etc/sudoers文件来配置哪些用户或组具有sudo权限。使用visudo命令编辑该文件。

3. 用户配额管理

Linux支持磁盘配额功能,可以限制用户使用的磁盘空间。使用edquota命令设置用户配额。