Linux用户和权限管理详解:从安全模型到ACL实战

发布时间:2026/10/24 6:29:25
Linux用户和权限管理详解:从安全模型到ACL实战 Linux用户和权限管理详解从安全模型到ACL实战发布日期2026-10-16 | 标签Linux用户管理、权限、chmod、ACL、安全模型目录导航一、Linux安全模型二、用户和组配置文件三、用户管理命令实战四、组管理命令实战五、权限体系详解六、特殊权限位七、ACL访问控制列表八、总结与实战技巧一、Linux安全模型1.1 Linux安全三要素Linux安全模型基于三个核心要素认证Authentication验证用户身份UID/GID授权Authorization控制访问权限rwx审计Accounting记录操作日志日志系统1.2 用户分类类型UID范围说明超级用户0root拥有所有权限系统用户1-999运行系统服务普通用户1000日常使用二、用户和组配置文件2.1 /etc/passwd — 用户信息文件每行一个用户字段以冒号分隔用户名:密码占位:UID:GID:描述:家目录:Shellcat/etc/passwd真实输出部分root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin sshd:x:109:65534::/run/sshd:/usr/sbin/nologin解读root用户UID0Shell是/bin/bashdaemon等系统用户Shell是nologin不允许登录www-data是Web服务器用户sshd是SSH服务用户2.2 /etc/group — 组信息文件格式组名:密码占位:GID:组成员列表cat/etc/group真实输出部分root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog sudo:x:27: www-data:x:33: disk:x:6:2.3 /etc/shadow — 密码文件存储加密后的密码只有root可读ls-la/etc/shadow真实输出-rw-r----- 1 root shadow 1021 Jul 21 17:26 /etc/shadow权限640仅root可读写shadow组成员可读。2.4 三个配置文件对照文件作用权限/etc/passwd用户基本信息644所有人可读/etc/shadow用户密码哈希640仅root可读写/etc/group组基本信息644所有人可读三、用户管理命令实战3.1 useradd — 创建用户useradd-mtestuseridtestuser真实输出user created uid1000(testuser) gid1000(testuser) groups1000(testuser)-m选项自动创建家目录。新用户UID自动分配为1000。3.2 passwd — 设置密码passwdtestuser真实输出New password: Retype new password: passwd: password updated successfully3.3 usermod — 修改用户属性usermod-aGsudo-ntestuser# 加入sudo组idtestuser常用选项-aG追加到附加组不离开其他组-s修改登录Shell-d修改家目录-L锁定用户-U解锁用户3.4 userdel — 删除用户userdel-rtestuseridtestuser21真实输出user deleted id: testuser: no such user-r选项同时删除家目录和邮件目录。3.5 用户管理命令速查命令作用常用选项useradd创建用户-m(家目录) -s(Shell) -u(UID)usermod修改用户-aG(加组) -s(Shell) -L(锁定)userdel删除用户-r(删家目录)passwd设密码-l(锁定) -u(解锁) -d(删除密码)id查身份-u(UID) -g(GID) -G(所有组)四、组管理命令实战4.1 groupadd — 创建组groupaddtestgroupcat/etc/group|greptestgroup真实输出group created testgroup:x:1000:4.2 groupmod — 修改组groupmod-nnewtestgroup testgroupcat/etc/group|grepnewtest真实输出newtestgroup:x:1000:-n选项修改组名。4.3 groupdel — 删除组groupdelnewtestgroupcat/etc/group|grepnewtest21真实输出group deleted4.4 gpasswd — 管理组成员gpasswd-auser1 testgroup# 将user1加入testgroupgpasswd-duser1 testgroup# 将user1移出testgroupgpasswd-Auser1 testgroup# 设置user1为组管理员五、权限体系详解5.1 权限的三组rwxLinux权限分为三组分别对应文件属主(u)、属组(g)、其他用户(o)-rwxr-xr-x | | | 属主 属组 其他权限对文件对目录r可读内容可列出内容w可修改内容可创建/删除文件x可执行可进入目录5.2 chmod — 修改权限数字法touch/tmp/perm_test.shls-la/tmp/perm_test.shchmod755/tmp/perm_test.shls-la/tmp/perm_test.sh真实输出-rw-r--r-- 1 root root 0 Oct 16 22:56 /tmp/perm_test.sh -rwxr-xr-x 1 root root 0 Oct 16 22:56 /tmp/perm_test.sh数字含义r4, w2, x1相加得到0-7的数字。755 rwxr-xr-x属主全权限属组和其他可读可执行644 rw-r–r–属主可读写其他只读600 rw-------仅属主可读写符号法chmodux,g-w,o-r /tmp/perm_test.shls-la/tmp/perm_test.sh真实输出-rwxr-x--x 1 root root 0 Oct 16 22:56 /tmp/perm_test.sh符号格式[ugoa][±][rwx]u属主, g属组, o其他, a所有添加, -移除, 设置5.3 chown — 修改属主属组chownroot:root /tmp/perm_test.shls-la/tmp/perm_test.sh真实输出-rwxr-x--x 1 root root 0 Oct 16 22:56 /tmp/perm_test.sh常用格式chown user file — 只改属主chown :group file — 只改属组chown user:group file — 同时改属主和属组chown -R user:group dir/ — 递归修改5.4 chgrp — 修改属组chgrproot /tmp/perm_test.sh等同于 chown :root file。5.5 umask — 默认权限掩码umask# 查看当前umaskumask022# 设置umaskumask决定新建文件的默认权限文件默认权限 666 - umask目录默认权限 777 - umaskumask022时文件644目录755六、特殊权限位6.1 SUID (Set UID)当用户执行一个设置了SUID的程序时该用户临时获得文件属主的权限。chmod4755/tmp/perm_test.shls-la/tmp/perm_test.sh真实输出-rwsr-xr-x 1 root root 0 Oct 16 22:56 /tmp/perm_test.sh属主的x变为s。典型应用/usr/bin/passwd普通用户可以修改密码。6.2 SGID (Set GID)对文件执行时临时获得属组权限。对目录新建文件继承目录的属组。chmod6755/tmp/perm_test.shls-la/tmp/perm_test.sh真实输出-rwsr-sr-x 1 root root 0 Oct 16 22:56 /tmp/perm_test.sh属组的x也变为s。6.3 Sticky Bit对目录设置后只有文件属主和root才能删除该目录中的文件。chmod1755/tmp/perm_test.shls-la/tmp/perm_test.sh其他的x变为t。典型应用/tmp目录。6.4 特殊权限总结权限数字前缀显示作用SUID4xxxs在属主位执行时获得属主权限SGID2xxxs在属组位执行时获得属组权限/继承属组Sticky1xxxt在其他位只有属主能删除七、ACL访问控制列表7.1 什么是ACL传统权限只能为属主、属组、其他三组设置权限。ACLAccess Control List可以为任意指定用户或组设置权限更灵活。7.2 setfacl — 设置ACLtouch/tmp/acl_test.txt setfacl-mu:root:rwx /tmp/acl_test.txt getfacl /tmp/acl_test.txt常用选项-m修改ACL规则-x删除ACL规则-b清除所有ACL规则格式u:用户名:权限 或 g:组名:权限7.3 getfacl — 查看ACLgetfacl /tmp/acl_test.txt7.4 ACL实战场景# 给特定用户读写权限setfacl-mu:alice:rw /shared/project.txt# 给特定组只读权限setfacl-mg:devteam:r /shared/project.txt# 删除特定用户的ACLsetfacl-xu:alice /shared/project.txt# 清除所有ACL恢复传统权限setfacl-b/shared/project.txt7.5 ACL vs 传统权限特性传统权限ACL粒度属主/属组/其他任意用户/组灵活性低高复杂度简单较复杂适用场景通用需要精细控制八、总结与实战技巧核心要点Linux安全基于认证授权审计三要素用户信息存储在/etc/passwd密码在/etc/shadow组在/etc/groupuseradd/usermod/userdel管理用户groupadd/groupmod/groupdel管理组权限分三组rwxchmod用数字法(755)或符号法(ux)SUID/SGID/Sticky是三种特殊权限位ACL提供更灵活的权限控制权限数字速查数字权限常见用途755rwxr-xr-x可执行文件/目录644rw-r–r–普通文件600rw-------私密文件750rwxr-x—组内可执行4755rwsr-xr-xSUID程序实战技巧生产环境禁用root直接登录用sudo提权关键配置文件设为600权限如密钥文件用usermod -aG追加组不要用-G会覆盖其他组chmod -R递归修改要谨慎特别是对系统目录ACL适合需要给多个不同用户设置不同权限的场景定期检查/etc/passwd中是否有异常用户上一篇文件管理与IO重定向实战本文所有命令均在 Ubuntu 24.04.4 LTS 服务器1.94.230.146上真实执行。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询