Linux 用户与权限超全详解 Linux 用户与权限超全详解前言Linux 是多用户操作系统权限是系统安全的核心。本文完整梳理用户切换、sudo 提权、用户/用户组管理、文件权限解析、chmod/chown 修改权限全套知识点附实操命令与示例适合收藏复习可直接复制到 CSDN。一、账户切换su 命令1. 基础语法su[-][用户名]-可选参数切换用户后完整加载目标用户环境变量生产环境建议必带不写用户名默认切换到 root2. 切换与返回普通用户切 rootsu - root/su -root 切普通用户su - itheima切回上一个用户exit或快捷键Ctrl d二、临时提权sudo 命令1. 使用方式在任意命令前加sudo临时获取 root 权限执行本条命令sudols/rootsudosystemctl restart nginx2. 配置普通用户 sudo 免密权限并非所有用户默认可用 sudo需要 root 用户配置执行编辑文件命令visudo找到权限配置行添加如下配置实现免密 sudoitheima ALL(ALL) NOPASSWD: ALLitheima你的普通用户名NOPASSWD执行 sudo 无需输入密码去掉则每次需要输用户密码三、用户 用户组管理Linux 中一个用户可以归属多个用户组所有增删改查用户/组命令均需要 root 权限执行。3.1 用户组管理1创建用户组groupadd组名# 示例创建开发组 devgroupadddev2删除用户组groupdel组名groupdeldev3查看系统所有用户组getent group3.2 用户管理1创建用户 useradd语法useradd [-g -d] 用户名-g指定用户初始主组组必须提前存在不指定则自动创建同名组作为主组-d自定义用户家目录HOME不指定默认/home/用户名# 创建用户 tom主组为 devuseradd-gdev tom# 创建用户 jack自定义家目录 /data/jackuseradd-d/data/jack jack2删除用户 userdel语法userdel [-r] 用户名-r同时删除用户 用户家目录不加仅删用户保留家目录文件# 删除用户 tom同步删除家目录userdel-rtom# 仅删除用户 jack保留 /home/jackuserdeljack3查看用户所属组 id# 查看当前登录用户id# 查看指定用户 tomidtom4修改用户附属组 usermod语法usermod -aG 组名 用户名-aG追加附属组不要省略 a否则会覆盖原有附属组# 将 tom 加入 dev 附属组usermod-aGdev tom5查看系统全部用户getentpasswd四、文件/文件夹权限详解4.1 查看权限 ls -l使用ls -l列出目录内容展示完整权限信息ls-l输出示例拆解drwxr-xr-x. 3 itheima itheima 37 9月 23 03:17 Desktop -rw-rw-r--. 1 itheima itheima 0 9月 26 00:16 hello.txt分段说明drwxr-xr-x10位权限标识第一个itheima文件所属用户第二个itheima文件所属用户组4.2 10位权限标识拆解10个字符分为四段类型(1位) 属主权限(3位) 属组权限(3位) 其他用户权限(3位)第一位文件类型含义-普通文件d文件夹/目录l软链接后9位每3位一组每组固定r w x顺序-代表无该权限第2-4位属主u权限第5-7位属组g权限第8-10位其他用户o权限示例drwxr-xr-xd文件夹rwx属主可读、可写、可执行r-x属组可读、不可写、可执行r-x其他用户可读、不可写、可执行4.3 rwx 权限区分文件 vs 目录权限文件作用目录文件夹作用r读查看文件内容ls 列出目录内文件名称w写修改、覆盖文件内容在目录内新建/删除/重命名文件x执行作为程序运行文件cd 进入该目录访问目录内文件详情五、修改权限chmod chown5.1 chmod 修改读写执行权限注意仅文件属主或 root 用户可执行 chmod语法chmod [-R] 权限标识 文件/目录-R递归修改目录下所有文件、子目录权限方式1字母赋值写法u/g/o/au user 属主g group 属组o other 其他a all 全部# hello.txt属主rwx属组rx其他xchmodurwx,grx,ox hello.txt# 递归修改test文件夹下所有内容chmod-Rurwx,grx,oxtest方式2数字权限最常用规则r4w2x1每组权限数字相加组成3位数字数字权限组合对应字符0无权限—1仅执行–x2仅写入-w-3写执行-wx4仅读取r–5读执行r-x6读写rw-7全部权限rwx示例7517属主421 → rwx5属组41 → r-x1其他1 → --x命令示例# 文件权限 rwxr-x--xchmod751hello.txt# 文件夹递归755权限chmod-R755test/5.2 chown 修改文件属主/属组仅 root 用户可执行普通用户无法变更文件归属语法chown [-R] [用户][:][组] 文件/目录-R递归修改目录内所有内容归属:分隔用户和用户组示例# 修改文件属主为rootchownroot hello.txt# 仅修改文件属组为rootchown:root hello.txt# 同时修改属主root属组itheimachownroot:itheima hello.txt# 递归修改test文件夹所有内容属主为rootchown-Rroot test/六、核心命令速查表用户切换su- 用户名# 切换用户并加载环境变量exit/ Ctrld# 返回上一级用户sudo命令# 临时root执行单条命令visudo# 配置sudo权限用户/组管理groupadd组名# 创建组groupdel组名# 删除组useradd[-g -d]用户名# 创建用户userdel-r用户名# 删除用户家目录id用户名# 查看用户所属组usermod-aG组 用户名# 用户追加附属组getentpasswd# 查看所有系统用户getent group# 查看所有系统组权限查看与修改ls-l# 查看文件权限、属主、属组chmod[-R]权限 文件# 修改读写执行权限chown[-R]用户:组 文件# 修改文件归属总结Linux 多用户隔离依靠用户、用户组、文件权限三层机制保障安全su 完整切换用户sudo 临时提权日常运维优先使用 sudorwx 对文件和目录作用完全不同目录 x 权限是进入目录的基础chmod 改读写执行chown 改文件归属递归操作务必加-R参数。