Linux账号与权限管理完全指南

📅 2026/7/4 2:13:37
Linux账号与权限管理完全指南
1. Linux账号管理基础Linux作为多用户操作系统账号管理是其核心功能之一。每个用户都拥有独立的账号系统通过UID用户ID和GID组ID来识别和管理用户权限。1.1 用户账号类型Linux系统主要包含三类用户账号超级用户rootUID为0拥有系统最高权限系统用户UID范围1-999用于运行系统服务普通用户UID从1000开始由管理员创建1.2 用户配置文件用户信息主要存储在以下配置文件中/etc/passwd存储用户基本信息/etc/shadow存储加密后的用户密码/etc/group存储用户组信息/etc/gshadow存储用户组密码重要提示直接编辑这些配置文件存在风险建议使用专用命令修改2. 用户管理实操2.1 用户创建与删除创建用户的基本命令useradd -m -s /bin/bash username # 创建用户并建立家目录 passwd username # 设置用户密码删除用户的正确方式userdel -r username # -r参数会同时删除用户家目录2.2 用户属性修改常用修改命令usermod -l newname oldname # 修改用户名 usermod -d /new/home username # 修改家目录 usermod -s /bin/zsh username # 修改默认shell3. 组管理技巧3.1 组的基本操作创建和删除组groupadd groupname groupdel groupname将用户加入组usermod -aG groupname username # -aG保持原有组关系3.2 有效组管理查看用户所属组groups username切换有效组newgrp groupname # 临时切换有效组4. 权限管理详解4.1 文件权限基础Linux文件权限分为三类所有者权限user所属组权限group其他用户权限other每种权限包含读r4写w2执行x14.2 权限修改方法使用chmod命令修改权限chmod 755 filename # 数字方式 chmod ux filename # 符号方式修改文件所有者chown user:group filename5. 特殊权限设置5.1 SUID/SGID权限SUID执行时以文件所有者身份运行SGID执行时以文件所属组身份运行设置方法chmod us filename # 设置SUID chmod gs filename # 设置SGID5.2 粘滞位常用于共享目录防止用户删除他人文件chmod t directory6. 访问控制列表(ACL)6.1 ACL基本概念ACL提供更精细的权限控制可以针对特定用户/组设置权限。检查文件系统是否支持ACLmount | grep acl6.2 ACL操作命令设置ACL权限setfacl -m u:username:rwx filename查看ACL权限getfacl filename7. 安全最佳实践7.1 密码策略设置修改/etc/login.defs配置密码策略PASS_MAX_DAYS 90 PASS_MIN_DAYS 7 PASS_WARN_AGE 147.2 用户权限限制使用sudo限制普通用户权限visudo # 编辑sudoers文件7.3 登录安全限制root直接登录# 修改/etc/ssh/sshd_config PermitRootLogin no8. 常见问题排查8.1 权限问题诊断检查权限问题的步骤确认当前用户身份whoami检查文件权限ls -l filename检查用户所属组groups username检查ACL权限getfacl filename8.2 用户登录问题排查流程检查账号是否锁定passwd -S username检查shell是否正确cat /etc/passwd | grep username检查家目录权限ls -ld /home/username9. 实用脚本示例9.1 批量创建用户#!/bin/bash for user in user1 user2 user3; do useradd -m -s /bin/bash $user echo $user:password123 | chpasswd done9.2 权限检查脚本#!/bin/bash for file in /path/to/files/*; do if [ $(stat -c %a $file) -gt 755 ]; then echo Warning: $file has overly permissive permissions fi done10. 进阶技巧10.1 用户会话管理查看当前登录用户who w终止用户会话pkill -KILL -u username10.2 资源限制通过/etc/security/limits.conf限制用户资源username hard nproc 100 # 限制进程数 username hard fsize 50000 # 限制文件大小(KB)掌握Linux账号与权限管理是系统管理员的核心技能。建议定期审计系统账号和权限设置遵循最小权限原则确保系统安全稳定运行。