
두 EL6 상자 사이의 /home 디렉토리를 동기화하기 위해 unison을 사용하고 싶습니다.
대부분의 글에서는 unison이 루트로 실행되고 두 상자 사이를 루트로 ssh할 수 있다고 가정합니다. 그러나 /etc/passwd와 /etc/login.block 모두에서 루트 로그인을 비활성화했습니다. sshd_config에서는 루트로 SSH를 통한 연결이 비활성화되어 있습니다.
루트 로그인을 요구하지 않고 /home과 같은 것을 동기화하는 일반적이고 확립된 방법이 있습니까?
내가 가진 생각 중 하나는
- 두 상자 모두에 uid:gid unison:unison을 설정합니다.
- uid unison에 대한 SSH 키 쌍을 구성하십시오.
- 원격에서 unison만 실행할 수 있도록 unison/.ssh/authorized_keys를 설정하십시오.
- /home setfacl -R -md:g:unison:rwx,g:unison:rwx /home에서 ACL 설정
- uid 'unison'으로 실행되도록 cronjob을 설정합니다.
하지만 더 좋고, 더 일반적으로 받아들여지는 방법이 있기를 바랍니다.
감사해요!
답변1
무엇나는 보통한다역할 계정을 만드는 것입니다.
- 역할 계정을 만듭니다(실제로는 다른 사용자이지만 이를 위해 예약된 uid 공간이 있습니다).
unison
~unison/.ssh/authorized/keys
`force-command="/usr/local/bin/unison-homesync.sh"와 같은 제한 패턴과 함께 사용하세요 .- 쓰다
/usr/local/bin/unison-homesync.sh
- 필요한 권한 있는 작업에는 sudo를 사용하세요.
장점:
- 루트로 로그인할 필요는 없습니다.
- sudo를 사용하면 권한 있는 작업을 쉽게 사용할 수 있습니다.
- 래퍼 스크립트를 작성하면 통제된 환경에 쉽게 들어갈 수 있습니다.
단점:
이 접근 방식은 수동으로 수행할 경우 확장이 잘 되지 않습니다. 일부 구성 관리가 이루어지면 문제가 되지 않습니다.