我遇到过很多次问题但仍然没有找到解决办法。
我的网站在一台装有 centos 的 Linux VPS 上运行 php joomla。现在,当我安装新扩展时,网站内会创建一些文件和文件夹。这些文件或文件夹具有 apache 或其他权限。
我使用该标志制作了一个 tar 球-p
,以便权限保留在那里,但问题是原始 Linux 中文件的所有者在新 Linux 中不存在,因此相同的 cipts 现在无法编辑其自己的设置,因为现在所有者已更改。
我必须手动将每个文件夹的权限更改为 777 才能使它们正常工作。
我该如何解决这个问题?
答案1
与其将整个网站开放给 VPS 上所有人和所有程序进行修改,不如使固定权限问题。
cd /path/to/webroot/ ; chown -R <username>:<groupname> .
<username>
用任意用户替换应该拥有文件。与 相同<groupname>
。它不应是 Apache 用户——如果 Apache 或通过 Apache 运行的程序存在缺陷,您就不会希望数据文件可写。
完成后,撤消你的777
修改:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
答案2
使用cp -pr /source/path/to/folder /destination/path/to/folder
和 scp -pr user@hostname:/source/path/to/folder user@hostname:/destination/path/to/folder
答案3
rsync -avz
是你的朋友 ...