从另一个服务器应用所有权模式

假设有两台专门的服务器,全新安装,两台服务器上都有相同的软件和用户。

假设,无论出于何种原因,我想将所有权模式从这些服务器之一复制到另一个。 那可能吗?

第一段几乎没有任何意义,但你真正的问题:

我可以使用其他服务器作为参考/模板来恢复和设置文件权限和所有权吗?

简单的答案是:也许…

更长的答案是,这样的策略将失败,每个文件都不存在于两台服务器上。 就脚本而言,您需要特别注意特殊文件,(符号)链接,文件/目录名称中的特殊字符等。

但是chmodchown命令都支持--reference标志。 您可以指向一个现有的文件, chmod将使用该文件的权限,而不是在更改文件模式时需要提供MODE值。
同样, chown将使用该引用文件/目录的所有者和组,而不是指定OWNER:GROUP值。

那么这个练习是:

  1. 将目标服务器上需要的引用目录树作为模板创build。 (如果您有足够的空白空间,只需复制源目录,同时保留所有权和模式设置,或者使用NFS导出源目录树并将其装载为模板。)
  2. 然后运行这些执行chownchmod粗略find命令:

请注意,这些只是概念性的,未经testing的,请添加限制条件,仅查找文件和目录,省略符号链接等
要重置损坏的/etc/上的所有权和模式:

 cd /template/etc find . -exec chmod -v --reference='{}' /etc/'{}' \; find . -exec chown -v --reference='{}' /etc/'{}' \;