Ubuntu文件系统怎样权限设置
小樊
41
2025-12-08 11:20:45
Ubuntu 文件系统权限设置指南
一 权限基础与查看
使用 ls -l 查看权限与属主,输出如:-rw-r–r-- 1 user group 4096 Jan 1 12:34 file 。首字符表示类型(如 - 文件、d 目录),随后三组 rwx 分别对应 所有者 Owner / 所属组 Group / 其他 Others 的读、写、执行权限。目录需要 x 才能进入与访问其内容。可用 groups 查看当前用户所属组。
二 修改权限 chmod
符号法:用 u/g/o/a (所有者/组/其他/全部)配合 +/-/= 增删设权限。示例:
给所有者加执行:chmod u+x script.sh
移除组写:chmod g-w data.txt
仅其他人只读:chmod o=r config.conf
八进制法:用 4/2/1 分别代表 r/w/x ,三位分别对应 Owner/Group/Others 。示例:
仅所有者读写:chmod 600 secret.key
脚本可执行:chmod +x backup.sh
目录 755、文件 644:chmod 755 dir/ ,chmod 644 file
递归与批量:对目录及内容统一设置可用 -R ;Web 目录常见做法:
目录可进入:find /var/www -type d -exec chmod 755 {} ;
文件可读取:find /var/www -type f -exec chmod 644 {} ;
安全提示:避免使用 chmod 777 ,遵循最小权限原则。
三 修改属主与属组 chown chgrp
修改所有者:sudo chown new_owner file
修改所属组:sudo chgrp new_group file 或合并写法:sudo chown new_owner:new_group file
递归移交目录:sudo chown -R www-data:www-data /var/www
典型场景:将网站目录交给 www-data 运行用户,以便 Nginx/Apache 正常读取与写入。
四 特殊权限与不可变属性
特殊权限:SUID/SGID/Sticky 会改变执行时的权限语义,存在提权与安全风险,需谨慎启用与审计。
不可变属性:对关键文件可设置 chattr +i 防误删/改写,解除用 chattr -i 。示例:sudo chattr +i database.sql 。
五 常见场景与最佳实践
多人协作目录:
建组:sudo groupadd dev
加用户:sudo usermod -aG dev alice ,sudo usermod -aG dev bob
赋权:sudo chown -R :dev /opt/project ,sudo chmod -R 775 /opt/project
Web 服务目录:
属主:sudo chown -R www-data:www-data /var/www
权限:find /var/www -type d -exec chmod 755 {} ; ,find /var/www -type f -exec chmod 644 {} ;
故障排查:
权限拒绝:先用 ls -l 定位,必要时用 sudo 或调整权限;
命令未找到:检查是否具有 x 执行权限;
Samba 访问:需同时满足 Linux 文件权限与 Samba 配置;
安全审计:定期审查 SUID 文件(如 find / -perm -4000 )。