开发机器的 PHP 文件权限

开发机器的 PHP 文件权限

我刚刚升级了我的开发机器,并转移了我正在开发的网站。但是,权限似乎没有正确转移。 dev 机器是运行 Apache 的 Linux 机器,其中所有文件夹和子文件夹都设置为 755,所有文件和所有子文件夹中的文件都设置为 644。

而不是我必须运行命令:

修改 755

修改644

有没有一种更快的方法来执行此操作,而不必单独执行每个文件和文件夹?

答案1

对于文件:

find -type f -exec chmod 0644 {} \; 

对于目录:

find -type d -exec chmod 0755 {} \; 

答案2

如果问题是不是每个人都可以读取这些文件:

chmod -R a+rX /var/www

(注意大写X,这意味着只有至少一个用户可执行的目录和文件才可执行)。

如果问题是文件可由所有者以外的用户写入:

chmod -R go-w /var/www

如果问题是文件是可执行的,并且您不想有任何可执行文件:chmod -R a-x则不会这样做,因为目录需要保持可执行状态(目录的执行权限控制您是否可以访问其中的文件)。你需要更有辨别力。在 zsh 中,您可以运行chmod a-x /var/www/**/*(.),使用**/语法递归到子目录和. 全局限定符仅匹配常规文件。在任何 shell 中,您可以使用find

find /var/www -type f -exec chmod a-x {} +

相关内容