uníssono como usuário não root

uníssono como usuário não root

Quero usar o unison para sincronizar os diretórios/home entre duas caixas EL6.

A maioria dos artigos assume que o unison é executado como root e pode fazer ssh entre as duas caixas como root. No entanto, desabilitamos logins root em /etc/passwd, bem como em /etc/login.block. A conexão via ssh como root está desabilitada em sshd_config.

Existe um método comum e/ou estabelecido para sincronizar algo como /home sem exigir login root?

Um pensamento que tive é

  1. configure um uid:gid unison:unison em ambas as caixas
  2. configure um par de chaves ssh para uníssono uid.
  3. configure unison/.ssh/authorized_keys para que apenas unison possa ser executado remotamente
  4. configure uma acl em /home setfacl -R -md:g:unison:rwx,g:unison:rwx /home
  5. configure o cronjob para que ele seja executado como uid 'unison'.

mas espero que haja uma maneira melhor e mais aceita

Obrigado!

Responder1

O queEu costumo fazeré criar contas de função.

  1. Crie uma conta de função (na verdade, apenas outro usuário, mas temos um espaço uid reservado para isso) - provavelmente o que você usou comunison
  2. use ~unison/.ssh/authorized/keyscom um padrão de restrição como `force-command="/usr/local/bin/unison-homesync.sh"
  3. escrever/usr/local/bin/unison-homesync.sh
  4. use sudo para as ações privilegiadas necessárias

Prós:

  • Não há necessidade de root para poder fazer login
  • sudo facilita o uso de ações privilegiadas
  • escrever um script wrapper facilita estar em um ambiente controlado

Contras:

A abordagem não é bem dimensionada quando feita manualmente. Se algum gerenciamento de configuração estiver em vigor, não será um problema.

informação relacionada