Linux用户管理和文件权限完整知识点总结
一、Linux安全底层逻辑与用户基础概念Linux属于多用户操作系统依靠用户ID、组ID实现文件访问权限隔离以此保障系统数据安全。系统中每一个登录使用者、后台服务进程都对应独立账户账户权限由唯一UID数值管控所有资源访问权限均绑定登录账户。用户分为三类第一类是超级管理员rootUID固定为0拥有系统全部操作权限第二类是系统伪用户UID数值小于500专门供给后台服务进程运行无法登录系统第三类是普通登录用户新建普通用户默认分配1000起的UID权限存在限制仅能操作自身家目录资源。系统依靠两个核心文件存储用户信息/etc/passwd存放用户基础信息所有用户均可读取文件每行以冒号分隔7段内容依次为用户名、密码占位符x、UID、GID、备注信息、用户家目录、默认登录shellx代表真实加密密码不在此文件/etc/shadow存放加密后的用户密码仅root用户具备读取权限文件分为9段包含密码加密串、密码修改周期、账户过期管控等安全参数普通用户查看必须搭配sudo提权。切换root用户可使用su root或su -输入root密码即可登录执行exit退回普通用户普通用户执行管理员操作需要前置sudo临时获取root权限。二、用户创建、修改、删除相关命令创建用户useradd与adduseruseradd为底层创建命令默认不会自动生成家目录、密码、可登录shell直接执行sudo useradd test会生成三无用户仅写入passwd文件。搭配-m参数可自动创建/home下用户家目录同时复制/etc/skel内系统默认配置文件到家目录/etc/skel存放bashrc、profile等基础环境配置。配套常用参数-c添加用户备注-d自定义家目录路径-e设置账户过期日期-g指定默认主组-G添加多个附加组-s指定登录shell。adduser是交互式封装工具Ubuntu等发行版默认自带执行sudo adduser test1后系统会分步提示输入密码、填写姓名电话等备注自动创建同名用户组、家目录并复制骨架配置文件操作更轻量化适合新手创建完整可登录普通用户。修改用户信息usermod、passwd、ch系列工具usermod用于修改已存在用户全部属性参数和useradd高度通用。-l修改登录用户名-L锁定账户禁止登录-U解除账户锁定-e调整密码过期时间-g更换默认主组-G重置附加组列表。passwd负责管理账户密码普通用户直接执行passwd修改自身密码root可执行passwd 用户名修改任意用户密码-e参数强制用户下次登录必须重置密码。批量修改密码可使用chpasswd通过echo “用户名:密码” | chpasswd批量导入账号密码。chsh修改用户默认登录shell必须填写shell完整路径chfn修改passwd内用户备注字段可录入姓名、房间号、联系电话chage管控账户有效期支持设置密码最短修改间隔、过期提醒天数、账户锁定日期日期格式统一采用YYYY-MM-DD。删除用户userdel直接执行userdel 用户名仅删除passwd、shadow内用户记录保留用户家目录与本地文件添加-r参数会同步删除用户/home家目录、邮件缓存目录删除前需要确认目录无重要资料避免数据丢失。三、用户组管理机制与操作命令用户组是批量管控权限的工具同一组内用户可共享文件访问权限每个组拥有唯一GID信息统一存放在/etc/group文件每行四段内容组名、组密码占位符、GID、组内所有用户列表。主流Linux发行版会为每一个新建用户单独创建同名主组提升数据安全。groupadd创建全新用户组默认无任何成员groupmod修改已有组信息-n修改组名称-g修改组GIDgroupdel删除闲置用户组。将用户加入附加组使用usermod -G 组名 用户名执行后用户可拥有该组文件访问权限。查看用户所属组信息可执行grep 用户名 /etc/group快速检索包含该用户的全部用户组。四、Linux文件权限完整解析权限标识基础执行ls -l查看文件权限字符串首位字符代表文件类型-为普通文件d为目录l为软链接c字符设备b块设备。后续9位字符分为三段分别对应文件所有者u、所属组g、其他用户o每段三位权限标识r、w、x无对应权限用-填充。r代表可读文件可读内容、目录可列出内部文件w代表可写文件可修改删除、目录可新建删除文件x代表可执行文件可运行、目录可cd进入。八进制权限计算方式rwx对应二进制数值r4、w2、x1三段权限分别相加得到三位八进制数字。无权限为0仅执行1仅写入2写执行3仅读取4读执行5读写6全部权限7。文件默认基础权限666目录默认基础权限777。umask默认权限掩码umask用于控制系统新建文件、目录的初始权限输入umask可查看掩码数值常见默认值0022。计算规则为目录基础权限777减去后三位掩码得到最终目录权限文件666减去掩码得到文件权限0022掩码生成文件默认644、目录755。umask可临时修改永久配置写入/etc/profile或/etc/login.defs。五、权限与文件归属修改命令chmod修改访问权限支持两种设置模式八进制模式直接填写三位数字如chmod 666 test.txt赋予所有人读写权限符号模式精准增减权限u/g/o/a区分操作对象增加权限、-移除权限、直接赋值权限。chmod ugorw test.txt等价八进制666。添加-R参数可递归修改目录下全部子文件、子目录权限。chown修改文件所有者与所属组仅root用户可修改文件属主基础语法chown 用户:组 文件同时修改所有者和所属组单独修改所有者chown 用户名 文件仅修改所属组chown :组名 文件。搭配-R递归修改目录全部内容归属多用于搭建团队共享目录。六、多用户文件共享实现方案搭建共享目录核心依靠用户组机制先创建专属共享组将需要协作的用户统一加入该附加组修改共享目录所属组为新建共享组调整目录组权限为读写执行组内所有用户即可互相读写目录内文件无需开放权限给系统全部其他用户兼顾协作与安全。