我在 joomla 中制作网站。
我经常需要将网站从测试服务器转移到主服务器。
最初,我将文件复制到新服务器,然后又必须更改文件夹的目录权限,这花费了太多时间。然后有人告诉我使用
tar -P
来保留权限,并且保留所有权限使我的生活变得更轻松。
现在我面临的另一个问题是。有些脚本会生成自己的文件和文件夹。现在它们已为所有者进行了读写操作。
但是当我更改服务器时,这些脚本不会保留它们创建的文件的所有权,因此我再次更改了 100 个文件权限
是否有任何解决方案可以将这些脚本的所有权保留在新服务器上
答案1
您是否可以通过 ssh 访问两台服务器?如果可以,您可以尝试使用“-a”选项进行 rsync。不确定这是否能解决问题,但值得一试。
答案2
如果这些脚本是在具有 id(或更好地称为登录名)foo 且 uid(登录名的内部数字表示)为 8080 的用户上生成的,并且您正在使用 tar -p,那么在新系统上,用户在新系统上必须具有与测试系统上相同的 uid。
检查 uid 到 id 的映射,并根据您的测试系统进行更改,然后两个服务器上的所有内容都相同。
您还可以创建一个单独的组并在该组中授予读/写权限。然后将所有需要对此文件进行读/写访问的用户放入该组中。
现在,您可以递归更改 Web 服务器上的组。使用 chown -R :thegroup /path/to/webserver 如果两台机器上的两个组相同,请检查 uid 到 id 的映射,并更改它们以适合两台服务器。这样,您就不需要每次都执行 chown 操作了。
要掌握这一点,您必须了解 id foo 和 uid 8080 之间的区别到底是什么。