第 4 章 管理账号与权限 课堂笔记
本章核心重点用户 / 组账号的类型、标识体系及全生命周期管理方法账号配置文件/etc/passwd、/etc/shadow、/etc/group的解析与应用文件 / 目录的权限机制读 / 写 / 执行字符表示法与数字表示法的转换与应用chmod、chown等命令的高级用法实现权限与归属的精准配置umask 默认权限的原理与配置实现新建文件 / 目录的权限标准化4.1 管理用户账号和组账号Linux 是多用户多任务系统内核不识别用户名只识别数字 UID/GID。4.1.1 用户账号和组账号概述1 用户账号分类表格账号类型UID 范围典型代表权限说明超级用户UID0root系统最高权限谨慎操作普通用户UID≥1000zhangsan、mike人为创建日常业务操作权限受限程序用户UID 1‑999ftp、mail服务运行专用禁止登录系统✅ 运维规范日常不要直接使用 root普通用户做业务需要管理再切换 root。2 组账号批量授权基本组私有组每个用户只能有一个创建用户默认生成一般和用户名同名记录在/etc/passwd。附加组公共组一个用户可以加入多个附加组用来获得额外权限。案例zhangsan 基本组 tech附加组 mailadm同时拥有 tech、mailadm 两组权限。3 UID、GID 分配规则UIDroot0程序用户 1‑999普通用户 1000 起GIDroot 组 0程序组 1‑999普通组 1000 起4.1.2 用户账号管理账号信息存配置文件推荐使用命令管理不建议直接手改文本。核心账号配置文件①/etc/passwd用户基本信息所有用户可读root 可改每行 7 个字段冒号:分隔用户名:密码占位符x:UID:GID:用户备注:宿主目录:登录Shell示例root:x:0:0:root:/root:/bin/bash密码不存这里x只是占位符真正密码在 shadow。②/etc/shadow影子密码文件【敏感仅 root 可读】每行 9 个字段存储加密密码、密码有效期、账号过期时间。用户名:加密密码:上次改密时间:最短有效期:最长有效期:警告期:宽限期:账号失效时间::!!/*代表账号锁定禁止登录head -2 /etc/shadow tail -1 /etc/shadow用户管理命令增改删密码1useradd 创建用户格式useradd [选项] 用户名默认行为分配 UID/GID创建/home/用户名家目录复制/etc/skel模板文件shell 为/bin/bash账号锁定无密码。表格选项作用示例‑u指定 UIDuseradd -u 1200 testuser‑d指定宿主目录useradd -d /opt/test testuser‑e账号失效时间 YYYY‑MM‑DDuseradd -e 2026‑12‑31 test‑g指定基本组useradd -g tech lisi‑G指定附加组多组逗号隔开useradd -G tech,mail wangwu‑s指定登录 shelluseradd -s /sbin/nologin appuser#普通创建用户 useradd bdqn_zeng tail -1 /etc/passwd tail -1 /etc/shadow ls -A /home/bdqn_zeng2passwd 设置 / 修改密码root 可以改所有人密码普通用户只能改自己密码。格式passwd [选项] 用户名表格选项作用‑d清空密码‑l锁定账号‑u解锁账号‑S查看账号状态 PS 正常 / LK 锁定passwd bdqn_zeng #root设置密码 passwd -S bdqn_zeng #查看状态 passwd -l bdqn_zeng #锁定 passwd -u bdqn_zeng #解锁3usermod 修改已有用户属性大部分选项和 useradd 一样新增-l 新名 旧名修改登录用户名-L锁定账号-U解锁账号usermod -l webmaster admin #改名admin→webmaster usermod -d /home/admin admin #修改家目录配置记得先mv真实目录 usermod -L admin #锁定 usermod -U admin #解锁4userdel 删除用户-r递归删除同时删除家目录与邮件推荐使用userdel -r bdqn_zeng用户初始配置文件/etc/skel模板新建用户会把/etc/skel下面隐藏文件复制到家目录表格文件执行时机用途.bash_profile用户登录设置用户环境变量.bashrc打开新终端 /bash 加载别名、提示符配置.bash_logout退出登录时执行退出清理操作全局配置全部用户生效/etc/profile、/etc/bashrc仅 root 修改。 修改后source /etc/bashrc立即生效。4.1.3 组账号管理组配置文件/etc/group组基本信息4 字段组名:占位符x:GID:成员列表/etc/gshadow组密码影子文件生产几乎不用。组管理命令groupadd 创建组groupadd class01 #创建组class01 groupadd -g 1100 class02 #指定GIDgpasswd 管理组成员最常用选项功能-a 用户 组把用户加入组附加组-d 用户 组从组移除用户-M 用户列表 组批量重写全部成员覆盖旧成员gpasswd -a mike root #mike加入root组 gpasswd -d webmaster root #webmaster移出root组 gpasswd -M root,adm,mike adm #批量设置adm组成员groupdel 删除组不能删除某个用户正在使用的基本组要先改用户基本组或删用户。groupdel class014.1.4 账号信息查询命令表格命令功能示例groups [用户名]查看用户所有所属组基本 附加groups mikeid [用户名]查看 UID、GID、所有组 idid rootpinky -l 用户名查看登录属性家目录、shellpinky -l rootw查看当前系统所有登录的用户负载信息w4.2 管理目录和文件的属性每个文件 / 目录两大属性权限r w x控制用户操作行为归属属主 (owner)、属组 (group)root 不受普通权限限制。4.2.1 查看目录和文件属性 ls‑l /ls‑ldls -l 文件名 #查看文件详情 ls -ld 目录名 #查看目录本身属性不要看里面内容输出第 10 位字符结构[文件类型][属主3位][属组3位][其他3位]文件类型‑普通文件d目录l软链接b块设备c字符设备r w x 对文件、目录含义完全不同重点表格权限对文件对目录r (读)读取文件内容列出目录内文件名lsw (写)修改、覆盖文件内容增删目录里面文件 / 子目录高危有 w 无 x 也不行x (执行)执行脚本 / 程序可以 cd 进入该目录目录必备基础权限⚠目录有 w 权限就算文件本身不属于你你依然可以删除目录内的文件示例解析‑rw‑r‑‑r‑‑普通文件属主读写属组、其他只读drwxr‑xr‑x目录属主 rwx属组其他 r‑x4.2.2 设置目录和文件权限 chmod只有 root、文件属主可以执行 chmod。两种写法字符法、数字法。权限数值r4w2x1把三位分别求和得到八进制数字。1字符模式格式chmod [ugoa][-][rwx] 文件/目录u 属主g 属组o 其他a 全部增加权限‑移除权限直接强制设置权限chmod ux,o‑r mymkdir2数字模式运维最常用chmod nnn 文件nnn属主、属组、其他递归选项-R‑R递归目录 目录下全部子文件子目录一起修改chmod -R 644 /var/ftp/pub常用权限速记表格数字字符使用场景755rwxr‑xr‑x程序、目录644rw‑r‑‑r‑‑普通配置文本文件777rwxrwxrwx测试用生产严禁4.2.3 设置目录和文件归属 chown只有 root 可以执行 chown格式chown 属主 文件 #只改属主 chown :属组 文件 #只改属组冒号不能丢 chown 属主:属组 文件 #同时修改属主属组 chown -R 属主:属组 目录 #递归修改目录及内部全部内容示例chown daemon:wheel mymkdir chown -R ftp /var/ftp/pub⚠不要随意修改/etc /bin /usr系统目录归属会系统损坏。4.2.4 默认权限 umask决定新建文件 / 目录的默认权限。 目录最大原始权限 777普通文件最大原始权限 666系统安全文件默认不会自动给 x 实际权限 最大权限减去 umaskumask #查看当前umask umask 022 #临时修改仅当前终端生效 mkdir umask2 touch test01.txt常用 umask表格umask新建目录新建文件场景022755644系统服务器默认002775664团队共享目录077700600个人敏感私有文件临时 umask 只当前终端生效永久生效要改配置文件~/.bashrc//etc/profile。4.3 权限管理进阶特殊权限与 ACL 访问控制4.3.1 特殊权限 SUID SGID SBIT数字位写在普通三位权限前面SUID4SGID2SBIT1表格特殊权限数字标识位适用对象作用典型例子SUID4属主 x 位显示s可执行文件执行时临时获得文件属主权限/usr/bin/passwd(4755)SGID2属组 x 位显示s目录 / 文件目录内新建文件自动继承目录的属组团队共享目录SBIT 粘滞位1其他 x 位显示t仅目录目录内用户只能删除自己创建的文件不能删别人的/tmp目录 (1777)SUID 示例ls -l /usr/bin/passwd chmod us /bin/ls #字符设置SUID chmod 4755 /bin/ls #数字设置SUID⚠不要随便给 rm、bash 设置 SUID高危漏洞SGID 示例团队共享目录groupadd team mkdir /opt/team chmod gs /opt/team chmod 2775 /opt/team chown :team /opt/team ls -ld /opt/teamSBIT 粘滞位示例ls -ld /tmp mkdir /opt/mytmp chmod ot /opt/mytmp chmod 1777 /opt/mytmp4.3.2 ACL 访问控制精细化权限管控基础权限只有属主、属组、其他三类ACL 可以给单独某一个用户 / 单独某一个组设置独立权限。命令getfacl查看 ACLsetfacl设置 ACLsetfacl 核心选项表格选项功能‑m增加 / 修改 ACL 条目‑x删除某一条 ACL‑b清空全部 ACL退回普通权限‑R递归设置‑d设置默认 ACL目录子文件自动继承 ACL实操示例#给用户mike单独设置rwx权限 setfacl -m u:mike:rwx test.txt getfacl test.txt #给组dev设置rwx递归目录 setfacl -R -m g:dev:rwx /opt/data #设置目录默认ACL新建文件自动继承 setfacl -d -m u:mike:rwx /opt/data #删除单条acl setfacl -x u:mike test.txt #全部清空acl setfacl -b test.txtls‑l 看到权限末尾有加号说明该文件配置了 ACL。本章总结用户账号分为超级用户 (root UID0)、普通用户、程序用户每个用户 1 个基本组多个附加组核心配置文件/etc/passwd、/etc/shadow、/etc/group用户命令useradd passwd usermod userdel组命令groupadd gpasswd groupdel。文件权限 r w x文件和目录含义不一样支持字符、数字两种 chmod 写法chown修改属主属组‑R递归。umask 控制新建文件目录默认权限目录 777、文件 666 减去 umask 得到实际权限。特殊权限 SUID (4)、SGID (2)、SBIT (1)写在权限数字最前面用于特殊业务场景不可滥用。ACL 实现精细化权限可以为单个用户 / 组独立授权getfacl查看setfacl配置‑d设置目录默认继承 ACL。高频命令速查表表格分类命令功能用户管理useradd [选项] 用户名创建用户passwd [‑l‑u‑S‑d] 用户名密码、锁定解锁账号usermod [‑l‑L‑U] 用户名修改用户属性userdel ‑r 用户名删除用户连同家目录组管理groupadd 组名创建组gpasswd ‑a/‑d/‑M 用户 组管理组成员groupdel 组名删除组账号查询groups 用户名查看所属组id 用户名查看 UID/GIDw查看登录用户文件权限chmod [ugoa‑rwx / 数字] 文件修改权限‑R 递归chown [‑R] 属主:属组 文件修改归属umask [值]查看 / 设置默认权限掩码特殊权限chmod us / gs / ot 文件/目录字符设置 SUID/SGID/SBITchmod 4xxx / 2xxx /1xxx 文件数字设置特殊权限ACLgetfacl 文件查看 ACL 权限setfacl ‑m /‑x /‑b /‑R /‑d配置、删除 ACLchmod 755 mymkdir chmod 644 test.txt/td 管理组成员groupdel 组名删除组 账号查询groups 用户名查看所属组id 用户名查看 UID/GIDw查看登录用户 文件权限chmod [ugoa‑rwx / 数字] 文件修改权限‑R 递归chown [‑R] 属主:属组 文件修改归属umask [值]查看 / 设置默认权限掩码 特殊权限chmod us / gs / ot 文件/目录字符设置 SUID/SGID/SBITchmod 4xxx / 2xxx /1xxx 文件数字设置特殊权限 ACLgetfacl 文件查看 ACL 权限setfacl ‑m /‑x /‑b /‑R /‑d配置、删除 ACLchmod 755 mymkdir chmod 644 test.txt
