모든 파일 및 폴더에 대한 사용자 권한 부여 rsync : opendir “/

시스템의 모든 파일과 폴더에 액세스 할 수있는 사용자를 원합니다. 이는 로컬 시스템에서 RSYNC를 사용하여 원격 시스템을 백업하기위한 것입니다.

현재 우리는 사용자를 사용 하고 있으며이 backups사용자를 그룹에 추가했지만 rsync는 여전히 다음과 같은 메시지를 반환합니다.sudoadmin

rsync : opendir “/ location / to / folder”실패 : 권한 거부 (13)

rsync : send_files가 “/ location / to / file”을 열지 못했습니다 : 권한이 거부되었습니다 (13).

모든 backups액세스 권한을 사용자에게 부여하는 방법에 대한 모든 아이디어 (모든 그룹에 사용자를 추가하는 것이 부족합니다. 백업하려는 원격 서버는 모든 계정에 시스템에 자체 사용자가있는 전용 호스팅 서버입니다).

도움을 주셔서 감사합니다.



답변

사용자 backups를 사용자 그룹에 추가 한다고 sudo해서 시스템의 모든 파일에 계정 액세스가 자동으로 부여되는 것은 아닙니다. 사용자에게 sudo명령 을 실행할 수있는 권한을 부여합니다 .

공개 키 인증 (비밀번호가 없을 것임)을 사용하고 있으므로 보안 및 구현 용이성을 염두에두고 접근합니다. 를 사용 ssh하면 사용자가 매우 특정한 명령 만 실행하도록 제한 할 수 있습니다. 이 경우 사용자 가 수퍼 유저 권한 backups으로 실행 하도록 허용 할 수 있습니다 rsync.

키 교환을 이미 수행했으며 인증이 확인되었습니다. 디렉토리를 authorized_keys백업하는 원격 호스트 의 파일에서 사용자가 사용하는 키에 지시문을 /home추가 할 수 있습니다 . 이 지시문은 해당 키가 인증에 사용될 때만 해당 명령을 실행할 수 있도록 합니다. 따라서 키의 첫 번째 필드는 다음과 유사합니다.command=backups

command="/path/to/sudo /path/to/rsync -az /home /local/folder" ssh-rsa AAAAB3NzaC1yblahblahblah

더 나아가서 키에 더 많은 옵션을 추가 할 수 있습니다 (예 🙂 from=myhost,no-pty,no-X11-forwarding.

이는 적절한 보안을 제공하며 기본 파일 시스템 권한을 수정하지 않아도됩니다. authorized_keys예상대로 작동 할 때까지 파일에 배치 한 명령으로 재생해야합니다 . 뇌를 감싸는 데 약간의 시간이 걸릴 수 있습니다. 에 지정된 명령 authorized_keys은 기본적으로 rsync연결 호스트에서 전달할 옵션을 무시합니다 .

에 좋은 정보가 많이 man sshd있습니다. AUTHORIZED_KEYS FORMAT 섹션을 구체적으로 읽으려고합니다.


답변

한 가지 옵션은 원격 시스템에서 rsync 서버를 실행하는 것입니다.

기본적으로 rsync.confwith을 uid=root만든 다음을 사용하십시오 rsync -az rsync://domain.com.

다른 누군가 가 Ubuntu에서 서버를 활성화하는 몇 가지 기본 사항에 대한 rsync 데몬 구성구성 예는 http://pastebin.com/5hQx1mRV 를 참조 하십시오 .

이 보안을 고려해야합니다. 더 나은 방법은 원격 시스템을 로컬 시스템으로 푸시하는 것입니다.


답변

기본 파일 시스템이 지원하는 경우 ACL을 사용할 수 있습니다.

각 파일 및 디렉토리의 ACL에 그룹 백업을 추가해야합니다. 그러나 새로 작성된 파일 및 디렉토리에 대해 자동으로 추가하려면 먼저 기본 ACL을 모든 기존 디렉토리로 설정해야합니다. 따라서 원격 서버에서 :

sudo find /home -type d -print0 | xargs -0 setfacl -d -m group:backup:r-x

그런 다음 모든 기존 디렉토리에 대한 rx 권한이 있어야하며 파일을 읽을 수 있습니다. 이 작업은 2 개의 명령으로 수행 할 수 있습니다 (이번에는 -d없이).

sudo setfacl -R -m group:backup:r-- /home
sudo find /home -type d -print0 | xargs -0 setfacl -m group:backup:r-x

그러면 각 파일을 소유 한 기존 사용자 및 그룹을 변경하지 않고 파일을 그룹 백업으로 읽을 수있는 추가 권한이 부여됩니다.

참고 : 찾기를 가속화하려면 | xargs 명령 xargs 명령에 다음 옵션을 추가 할 수 있습니다. -P nn은 병렬 프로세스 수입니다. 머신에있는 CPU 수 + 1로 설정할 수 있습니다.


답변