文章目录一、Linux 文件权限结构二、数字模式绝对模式三、符号模式相对模式四、特殊权限位五、递归与参考六、实用场景示例七、常见错误与解决八、快速对照表一、Linux 文件权限结构10位权限字符串拆解权限字符含义字符权限数值(8进制)对文件作用对目录作用r读4查看内容列出目录内容 (ls)w写2修改内容创建/删除/重命名文件x执行1运行程序/脚本进入目录 (cd)-无0无权限无权限第1位文件类型字符含义说明-普通文件文本、二进制、图片等d目录文件夹l软链接类似Windows快捷方式c字符设备键盘、鼠标等b块设备硬盘、U盘等s套接字网络通信p管道进程间通信第2-4位所有者user权限示例含义rwx可读可写可执行 (7)rw-可读可写不可执行 (6)r-x可读不可写可执行 (5)r--仅可读 (4)第5-7位所属组group权限第8-10位其他用户others权限二、数字模式绝对模式计算方法权限所有者 ×100 所属组 ×10 其他用户 ×1rwx4217rw-4206r-x4015r--4004常见的数字组合数值权限适用场景777rwxrwxrwx临时全开危险755rwxr-xr-x可执行脚本/程序644rw-r--r--普通文件默认600rw-------敏感文件密钥/密码700rwx------私有脚本/目录750rwxr-x---团队共享所有者全权限组只读执行660rw-rw----协作文件同组可编辑数字模式示例chmod755script.sh# 所有者全权限其他只读执行chmod644/etc/nginx/nginx.conf# 配置文件所有者读写其他只读chmod600~/.ssh/id_rsa# 私钥仅所有者可读写chmod-R755/var/www/html# 递归设置网站目录权限三、符号模式相对模式chmod[who][operator][permission]文件操作对象who符号含义u用户所有者 userg组groupo其他othersa所有all ugo操作符operator符号含义添加权限-移除权限设置精确权限覆盖权限字符permission符号含义r读w写x执行X仅当文件是目录或已有执行权限时赋予执行权限sSUID/SGID 特殊权限tSticky 位符号模式示例chmodux script.sh# 给所有者添加执行权限chmodgo-w file.txt# 移除组和其他用户的写权限chmodar file.txt# 所有人设为只读覆盖原有chmodurwx,grx,o-rwx dir/# 所有者全权限组读执行其他无权限chmodx script.sh# 所有人添加执行权限等价于 ax四、特殊权限位SUID (Set User ID) - 4000chmod4755/usr/bin/passwd# 数字模式4开头chmodus /usr/bin/passwd# 符号模式作用用户执行该文件时临时获得文件所有者的权限标识所有者执行位显示 s (原 x 位置)应用passwd 命令普通用户修改 /etc/shadowSGID (Set Group ID) - 2000chmod2755/shared/dir# 数字模式2开头chmodgs /shared/dir# 符号模式作用对文件执行时获得文件所属组权限对目录新建文件继承目录所属组标识组执行位显示 s应用团队共享目录Sticky Bit - 1000chmod1777/tmp# 数字模式1开头chmodt /tmp# 符号模式作用目录中用户只能删除/重命名自己拥有的文件标识其他用户执行位显示 t应用/tmp 目录公共可写但防误删他人文件特殊权限对照表权限数字符号文件作用目录作用SUID4000us以文件所有者身份执行无SGID2000gs以文件所属组身份执行新建文件继承组Sticky1000t无仅删除自己的文件五、递归与参考递归修改-Rchmod-R755/var/www# 递归修改目录及所有子内容chmod-RurwX,go-rwx /data# 所有者读写执行文件仅当已有x其他无权限参考文件权限–referencechmod--referencefile1 file2# 将file1的权限复制给file2六、实用场景示例Web 服务器目录标准权限# 网站根目录所有者读写执行组读执行其他读执行chmod-R755/var/www/html# 上传目录可写但防执行防木马chmod755/var/www/html/uploadsfind/var/www/html/uploads-typef-execchmod644{}\;SSH 密钥安全权限chmod700~/.ssh# 目录仅所有者访问chmod600~/.ssh/id_rsa# 私钥仅所有者读写chmod644~/.ssh/id_rsa.pub# 公钥所有人可读chmod600~/.ssh/authorized_keys# 授权密钥共享开发目录# 创建项目目录组内协作mkdir/projects/websitechown-Rdevuser:devteam /projects/websitechmod2775/projects/website# SGID保证新文件继承组# 结果drwxrwsr-x批量修正权限脚本#!/bin/bash# fix_perm.sh - 统一修复项目权限PROJECT_DIR/opt/myapp# 目录755find$PROJECT_DIR-typed-execchmod755{}\;# 文件644find$PROJECT_DIR-typef-execchmod644{}\;# 脚本755find$PROJECT_DIR-name*.sh-execchmod755{}\;# 配置文件600chmod600$PROJECT_DIR/config/database.ymlecho权限修复完成查看权限详细解释stat-c%a %nfile.txt# 显示数字权限和文件名# 输出644 file.txtstat-c%A %a %U %G %nfile.txt# 显示符号权限、数字、所有者、组# 输出-rw-r--r-- 644 root root file.txtls-lfile.txt# 标准查看getfacl file.txt# 查看ACL扩展权限如有七、常见错误与解决错误现象原因解决Permission denied无执行权限chmod x script.shPermission denied(目录)无目录执行权限chmod 755 目录Operation not permitted非root修改系统文件使用sudochmod: cannot access文件不存在检查路径SUID不生效文件系统挂载nosuid检查/proc/mounts八、快速对照表需求命令脚本可执行chmod x script.sh文件只读chmod 444 file或chmod a-w file目录仅自己访问chmod 700 ~/private恢复默认权限chmod 644 file/chmod 755 dir设置SUIDchmod us /usr/bin/somebin设置Stickychmod t /shared/tmp复制权限chmod --referencea b