说是 Linux,因为主要用的是 Ubuntu,所以也是因为 Ubuntu 发现了这个情况,不过这个命令对于 Linux 其他发行版一样适用。

Ubuntu 现在的权限默认是 775(目录) 和 664(文件),而之前我们使用的虚拟主机多数权限划分是 755 和 644。个人觉得现在 Ubuntu 的这种设置更好用,那么如何把备份过来的站点目录和文件统一重设为 775 和 664 呢?或者把自己不小心弄乱了的权限重设为自己需要的初始值呢?

搜索了下,感觉这个比较适合自己的情况,这个命令执行速度跟目录总文件数多少有关,如果文件总数比较多,可能稍微需要点时间。

find /path/to/www/example.com -type d -exec chmod 775 {} \;
find /path/to/www/example.com -type f -exec chmod 664 {} \;

第一行命令是把目录(文件夹)设为 775,第二行是把文件设为 664,无论目录还是文件都是递归的,也就是说包括所有子目录和文件。

注意,是绝对路径,另外,如果有权限问题(改不了),比如之前不小心弄错了,加上 sudo 就可以了。