Linux修改文件所属用户和组chown chgrp命令 Linux

前言

网站程序报 Permission denied,经常是文件属主不对:文件归 root,而 nginx/php-fpm 以 www 用户运行,自然读不到。chown 改属主、chgrp 改组,是修复这类问题的核心命令。本文讲解改属主、改组、同时改、递归批量和常见写法。

操作步骤

1. 查看文件当前属主

ls -l index.php

第 3、4 列是属主和属组。

2. 修改文件属主

sudo chown www index.php

3. 修改属主和属组(一起写)

sudo chown www:www index.php

4. 单独改组

sudo chgrp www index.php

5. 递归修改整个目录

sudo chown -R www:www /var/www/html

6. 只改目录不改文件,或只改文件

sudo chown -R --no-dereference www:www /var/www/html

7. 对照属主核对

ls -ld /var/www/html

常见坑

  1. 漏了 -R,只改单个文件,目录内子文件仍属主错误。
  2. -R 对软链接会跟随到目标,用 -h 避免误改。
  3. 属主写成系统不存在的用户,命令报错。
  4. Web 目录权限应属运行用户,别全给 root 或 777。
  5. chown 后还要看读/写/执行位,属主对了权限仍可能不足。
  6. 数据库文件属主和 MySQL 运行用户不一致会启动失败。
  7. 生产批量 chown -R 前先小范围测试,防止改错归属。

总结

chown 用户:组 文件 同时改属主属组,chgrp 只改组,-R 递归目录。Web 权限问题先 ls -l 看属主,再把文件改成运行用户。递归操作前确认路径,软链接加 -h,改完逐项核对。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-11-15 07:09 
'); })();