上一篇
场景引入:
小明刚把公司网站代码上传到Linux服务器,却发现图片无法显示,日志报错"Permission denied" 😱,同事瞥了一眼说:"你这文件权限没设对呀!"——今天我们就来彻底解决这个让无数新手头疼的Linux权限问题!
Linux中每个文件都有三组权限标记,像三个同心锁:
每种权限用三个字符表示:
r
= 读取(4) w
= 写入(2) x
= 执行(1) 查看权限:
ls -l 文件名 # 输出示例:-rw-r--r-- 1 user group 1024 Aug 1 10:00 myfile.txt
(开头的-rw-r--r--
就是权限代码)
用数字组合表示权限,适合批量操作:
chmod 755 文件名 # 经典万能权限 chmod -R 644 目录名 # -R参数递归修改目录内所有文件
常用数字组合:
777
= rwxrwxrwx (全开放,⚠️危险!) 755
= rwxr-xr-x (主人可读写执行,其他人只读执行) 644
= rw-r--r-- (主人可读写,其他人只读) 通过u/g/o/a
+操作:
chmod u+x script.sh # 给主人添加执行权限 chmod go-w secret.txt # 移除组和其他人的写入权限 chmod a=rw config.ini # 所有人设为读写权限
# 让网站目录可读可执行(禁止直接写入) chmod -R 755 /var/www/html # 单独给上传目录写入权限 chmod 777 /var/www/html/uploads # 临时方案,生产环境建议用ACL
chmod 600 ~/.ssh/id_rsa # 密钥文件必须严格限制 chmod 400 /etc/shadow # 系统密码文件标准权限
chmod +x backup.sh # 添加执行权限 ./backup.sh # 现在可以运行了!
目录的特殊性 📂:
x
权限才能进入 r+x
权限组合 umask的妙用 🎭:
umask 022 # 新建文件默认权限644,目录755
危险操作预警 ☠️:
chmod -R 777 / # 全盘开放权限!系统会裸奔! chmod 000 /etc/passwd # 系统关键文件别乱动!
权限继承问题 🔄:
chmod g+s 目录名
设置组权限继承 setfacl
命令实现更精细的ACL控制 问题现象 | 可能原因 | 解决方案 |
---|---|---|
无法读取文件 | 缺少r权限 | chmod +r 文件 |
无法修改文件 | 缺少w权限 | chmod u+w 文件 |
脚本无法执行 | 缺少x权限 | chmod +x 脚本 |
无法进入目录 | 目录无x权限 | chmod +x 目录 |
最后的小测验 💻:
当你执行chmod 751 mydir
后:
rwx
(7=4+2+1) r-x
(5=4+0+1) --x
(1=0+0+1) 现在你已掌握Linux权限管理的核心技能!下次遇到"Permission denied"时,记得优雅地甩出chmod命令吧~ 🚀
(本文操作验证环境:Ubuntu 22.04,内核版本5.15,2025-08更新)
本文由 霜雪莲 于2025-08-02发表在【云服务器提供商】,文中图片由(霜雪莲)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/514910.html
发表评论