插件窝 干货文章 linux有几种用户类型

linux有几种用户类型

用户 权限 登录 系统 156    来源:    2025-04-21

在Linux系统中,用户类型主要分为以下几类,每种类型有不同的权限和用途:


1. 超级用户(Root用户)

  • UID: 0
  • 权限: 拥有系统的最高权限(可修改任何文件、配置、服务等)。
  • 用途: 系统管理、安装软件、修改关键配置等。
  • 风险: 误操作可能导致系统崩溃,建议日常使用普通用户。
  • 切换命令:
    bash su - # 切换到root(需密码) sudo <command> # 临时以root权限执行命令(需配置sudoers)

2. 普通用户(系统用户 & 登录用户)

  • UID范围:
    • 系统用户(System Users): 1~999(RHEL/CentOS 7+)或 1~499(旧版)。
    • 登录用户(Regular Users): 1000+(由管理员创建)。
  • 权限: 仅对家目录(/home/username)和授权的文件有权限。
  • 用途:
    • 系统用户:运行服务或进程(如 nginxmysql),通常不允许登录。
    • 登录用户:日常使用(通过SSH或桌面环境登录)。

3. 特殊用户(伪用户)

  • UID: 无登录权限(如 nobodywww-data)。
  • 用途:
    • 运行特定服务(如Web服务器用 www-data)。
    • 增强安全性(限制服务权限)。
  • 示例:
    bash cat /etc/passwd | grep -E 'nobody|ftp|dbus' # 查看伪用户

4. 服务用户(Service Accounts)

  • 属于系统用户的子类,专为运行后台服务(如 postfixdocker)创建。
  • 特点: 无家目录、禁止交互登录。

关键配置文件

  1. /etc/passwd
    存储用户信息(用户名、UID、GID、家目录、登录Shell)。

    username:x:1001:1001:User Name:/home/username:/bin/bash
    
    • x 表示密码存储在 /etc/shadow
  2. /etc/shadow
    存储加密密码和账户有效期(仅root可读)。

  3. /etc/group
    定义用户组信息。


用户管理命令

命令 用途
useradd / adduser 创建用户
usermod 修改用户属性(如UID、家目录)
userdel 删除用户
passwd 设置或修改密码
id <username> 查看用户UID/GID信息

示例:创建系统用户

sudo useradd -r -s /bin/false myservice  # -r表示系统用户,-s指定不可登录Shell

总结

  • Root用户:绝对控制权,谨慎使用。
  • 普通用户:分系统用户(服务)和登录用户(日常)。
  • 特殊用户:增强安全性,限制权限。

通过权限划分,Linux实现了多用户环境下的安全隔离和管理灵活性。