以非root用户身份一致

我想同步使用两个EL6盒子之间的/ home目录。

大多数写作假设统一以root身份运行,并且可以以root身份在两个框之间ssh。 但是,我们在/ etc / passwd和/etc/login.block中都禁止了rootlogin。 在sshd_config中禁用以root用户身份连接。

是否有一个共同的和/或build立的方法来统一同步像/ home这样的东西,而不需要rootlogin?

有一个想法我是

  1. 设置一个uid:gid unison:在两个盒子上一致
  2. 为uidconfiguration一个ssh密钥对。
  3. 设置unison / .ssh / authorized_keys,以便只能从远程运行unison
  4. 在/ home setfacl上设置一个acl -md:g:unison:rwx,g:unison:rwx / home
  5. 设置cronjob,使其运行为uid'unison'。

但我希望有一个更好,更普遍接受的方式

谢谢!

我通常做的是创buildangular色帐户。

  1. 创build一个angular色帐户(实际上只是另一个用户,但我们有一个保留的uid空间) – 可能是你一起使用
  2. 使用~unison/.ssh/authorized/keys ,例如`force-command =“/ usr / local / bin / unison-homesync.sh”
  3. /usr/local/bin/unison-homesync.sh
  4. 使用sudo进行所需的特权操作

优点:

  • 没有必要能够login的根
  • sudo可以轻松使用特权操作
  • 编写一个包装脚本可以很容易地在一个被控制的环境中

缺点:

手动完成时,该方法不能很好地扩展。 如果一些configurationpipe理到位,这不是一个问题。