news 2026/4/3 4:33:27

Linux用户与组管理:系统安全的基石

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux用户与组管理:系统安全的基石

为什么用户与组如此重要?

想象一下一个没有门禁和权限管理的大厦——任何人都可以进入任何房间,查看任何文件。Linux的用户与组系统就是这个数字大厦的安全门禁系统,它决定了“谁可以做什么”。

核心概念:UID、GID与权限模型

用户标识:UID(User ID)

· 0:超级用户root(拥有至高无上的权力)
· 1-999:系统用户(运行系统服务,如www-data、mysql)
· 1000+:普通用户(人类用户)

组标识:GID(Group ID)

· 每个用户至少属于一个主组
· 可以加入多个附加组
· 组权限决定资源访问级别

用户管理:从创建到删除的全过程

1. 创建用户:不只是useradd

# 基础创建
sudo useradd alice

# 专业创建(完整参数)
sudo useradd -m -d /home/alice -s /bin/bash -c "Alice Developer" -u 1001 alice

参数详解:

· -m:创建家目录
· -d:指定家目录路径
· -s:指定默认shell
· -c:用户描述信息
· -u:指定UID(避免冲突)
· -g:指定主组
· -G:指定附加组

更安全的做法:使用adduser(交互式)

sudo adduser bob
# 会交互式提示设置密码、信息等

2.设置密码:安全第一

# 为自己改密码
passwd

# 为其他用户改密码(需要root)
sudo passwd alice

# 设置密码策略
sudo chage -l alice # 查看密码策略
sudo chage -M 90 -m 7 -W 14 alice # 设置90天有效期,最小7天,提前14天警告

密码安全最佳实践:

# 使用openssl生成随机密码
openssl rand -base64 12

# 检查密码强度
sudo apt install libpam-pwquality # 安装密码质量检查
# 配置/etc/pam.d/common-password

3.用户信息管理:

# 查看用户信息
id alice
# 输出:uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo)

# 修改用户属性
sudo usermod -aG sudo alice # 添加sudo权限
sudo usermod -s /bin/zsh alice # 修改默认shell
sudo usermod -L alice # 锁定账户(不能登录)
sudo usermod -U alice # 解锁账户

# 查看登录信息
who # 当前登录用户
w # 更详细的登录信息
last # 历史登录记录

4.删除用户:保留还是清理

# 安全删除(保留家目录)
sudo userdel alice

# 彻底删除(包括家目录和邮件)
sudo userdel -r alice

# 推荐做法:先禁用,再删除
sudo usermod -L alice # 先锁定
sudo userdel -r alice # 再删除

组管理:权限分配的艺术

1.创建和管理组

# 创建组
sudo groupadd developers
sudo groupadd -g 2001 admins # 指定GID

# 添加用户到组
sudo usermod -aG developers alice # -aG很重要,保留原有组
sudo gpasswd -a bob developers # 另一种方法

# 从组中移除用户
sudo gpasswd -d bob developers

# 设置组管理员
sudo gpasswd -A alice developers # alice可以管理developers组

# 删除组
sudo groupdel developers

2.特殊权限组

sudo 管理员权限 可以使用sudo命令

www-date Web服务 运行Apache/Nginx等

docker Docker管理 允许非root使用docker

ssh SSH访问 控制SSH登陆权限

users 普通用户 基本用户组

配置文件深度解析

1./etc/passwd:用户数据库

cat /etc/passwd
# 示例行:
# alice:x:1001:1001:Alice Developer:/home/alice:/bin/bash

# 字段详解(冒号分隔):
# 1. 用户名:alice
# 2. 密码:x(实际在/etc/shadow)
# 3. UID:1001
# 4. GID:1001(主组)
# 5. 描述:Alice Developer
# 6. 家目录:/home/alice
# 7. 默认shell:/bin/bash

2./etc/shadow:密码与安全信息

sudo cat /etc/shadow
# 示例行:
# alice:$6$rounds=656000$...:18652:0:99999:7:::

# 字段详解:
# 1. 用户名:alice
# 2. 加密密码:$6$...($6表示SHA512)
# 3. 上次修改密码的天数(从1970-1-1起)
# 4. 最小密码年龄(0=随时可改)
# 5. 最大密码年龄(99999=永不过期)
# 6. 密码过期前的警告天数
# 7. 密码过期后的宽限天数
# 8. 账户过期日期(空=永不过期)
# 9. 保留字段

3./etc/group:组定义文件

cat /etc/group
# 示例行:
# developers:x:1002:alice,bob

# 字段详解:
# 1. 组名:developers
# 2. 组密码:x(实际在/etc/gshadow)
# 3. GID:1002
# 4. 组成员:alice,bob

高级技巧与故障排除

技巧1:恢复root密码

# 方法1:GRUB单用户模式
# 1. 重启系统,在GRUB菜单按'e'
# 2. 找到linux行,在行尾添加 init=/bin/bash
# 3. 按Ctrl+X启动
# 4. 重新挂载根目录:mount -o remount,rw /
# 5. 修改密码:passwd root
# 6. 重启:exec /sbin/init

# 方法2:使用Live CD/USB
# 1. 从Live介质启动
# 2. 挂载原系统分区
# 3. chroot进入原系统
# 4. 修改密码

技巧2:用户家目录迁移

# 将用户家目录迁移到新位置
sudo usermod -m -d /new/home/alice alice
# -m 表示同时移动家目录内容

技巧3:解决UID/GID冲突

# 查找重复的UID
awk -F: '{print $3}' /etc/passwd | sort -n | uniq -d

# 查找重复的GID
awk -F: '{print $3}' /etc/group | sort -n | uniq -d

# 修改用户UID
sudo usermod -u 2001 alice
# 修改文件所有权以匹配新UID
sudo find / -user 1001 -exec chown -h 2001 {} \;

# 修改组GID
sudo groupmod -g 2001 developers
sudo find / -group 1001 -exec chgrp -h 2001 {} \;

总结:用户与组管理的核心要点

  1. 理解关系:用户属于组,权限通过组分
  2. 遵循原则:最小权限、职责分离
  3. 记录一切:所有用户操作应有日志可查
  4. 定期审计:自动检查异常账户活动
  5. 备份配置:定期备份/etc/passwd、/etc/shadow等

记住:好的用户管理是系统安全的第一道防线。一个配置不当的用户账户可能成为整个系统的入口点。从今天起,开始实施这些最佳实践,让你的Linux系统更加安全可靠。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 17:11:48

工业智能体应用:8D Agent

如果你的企业已经有了很多软件系统,依然存在数据孤岛,不知道如何拉通; 如果你的企业还没有软件,也想寻找AI应用的切入点; 如果你的企业生产利润很薄,难以突破 8D Agent都可以给你带来惊喜。我深知制造业企业…

作者头像 李华
网站建设 2026/3/14 17:43:26

PSV自制游戏合集

一共130个自制和移植游戏,大多数VPK格式 打包:https://pan.quark.cn/s/1f05c7b8586d

作者头像 李华
网站建设 2026/4/3 4:32:10

发现忽略drain事件写入阻塞 后来用write返回值控速

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 目录Node.js:我用它写代码,它用我头发换咖啡 一、Node.js:JavaScript的"越狱计划"…

作者头像 李华
网站建设 2026/3/15 19:29:28

排序算法简介及分类

一、排序算法分类 资料:https://pan.quark.cn/s/43d906ddfa1b、https://pan.quark.cn/s/90ad8fba8347、https://pan.quark.cn/s/d9d72152d3cf 按核心思路可分为几大类,以下是主流算法的简介: 1. 比较类排序(基于元素间比较&#x…

作者头像 李华
网站建设 2026/3/25 13:21:25

MySQL 实战:表数据维护核心技能(插入 / 更新 / 删除全解析)

在上一篇数据库与数据表管理的基础上,本次实验聚焦表数据的核心维护操作 —— 插入、更新与删除。数据维护是数据库日常使用中最频繁的场景,无论是批量录入数据、修正错误信息,还是清理无效记录,都需要熟练掌握对应的 SQL 语法。本…

作者头像 李华
网站建设 2026/3/31 14:32:45

2025年商业创新过程中的战略思维引领

在2025年,商业创新的核心已从单一的产品开发转向全面的战略思维引领。在复杂的市场环境中,企业需要掌握市场动态,通过系统思考来制定明确的发展方向。此时,创意思维与实用策略相结合,将成为企业抵御风险、捕捉机会的重…

作者头像 李华