如何将具有默认权限的网站、脚本从 Linux 复制到 Linux

如何将具有默认权限的网站、脚本从 Linux 复制到 Linux

我遇到过很多次问题但仍然没有找到解决办法。

我的网站在一台装有 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是你的朋友 ...

相关内容