파일 시스템 권한: 모든 파일을 백업할 수 있는 사용자

파일 시스템 권한: 모든 파일을 백업할 수 있는 사용자

내 네트워크의 일부 컴퓨터에 대해 자동 백업 작업을 설정하고 있습니다. rsync다른 모든 컴퓨터를 백업하기 위해 매일 명령을 실행하는 서버가 있습니다 . 나는 작업을 실행하는 사용자가 rsync모든 사람의 홈 디렉터리(암호화된 SSH 키와 같은 민감한 파일 포함)를 읽을 수 있지만 시스템의 어느 곳에도 쓸 수 없도록 하고 싶습니다(해당 항목 제외 /tmp). 또한 일반 사용자가 서로의 홈 디렉토리, 특히 민감한 부분을 읽는 것을 방지하고 싶습니다.

처음 생각한 것은 백업 사용자로만 구성된 그룹을 만드는 것이었습니다. 그런 다음 chgrp사용자의 파일을 백업 그룹에 저장합니다. 본인은 회원이 아니기 때문에 서로의 파일을 읽을 수 없지만, 백업 사용자는 백업하고 싶은 모든 내용을 읽을 수 있습니다.

그러나 사용자는 chgrp자신이 속하지 않은 그룹에 가입할 수 없습니다. 사용자가 서로의 홈 디렉토리를 읽을 수 있기 때문에 그룹에 추가할 수 없습니다.

NOPASSWDsudoers백업 사용자에게 루트로 필요한 정확한 명령만 실행할 수 있는 항목을 파일에 제공하는 것을 고려했지만 rsync올바르게 설정하지 않으면 재앙이 될 수 있는 것 같습니다(방법이 있는 경우). 심볼릭 링크 생성) 예를 들어 to /etc/sudoers및 to get 명령을 사용하면 대상으로 사용할 수 있습니다.rsync

답변1

TL,DR: 루트로 백업을 실행합니다. rsync매개변수를 다시 확인하는 한 sudo를 통해 정확한 명령을 승인하는 데는 아무런 문제가 없습니다 . 호출자가 매개변수를 지정할 수 있도록 허용하는 것이 문제입니다.

백업 사용자가 파일을 읽을 수 있도록 하려면 다음을 참조하십시오.사용자가 다른 사용자의 홈 디렉토리를 읽을 수 있도록 허용아이디어는파일 시스템 바인딩이 사용자는 모든 콘텐츠의 파일 시스템 보기를 읽을 수 있습니다.

하지만 파일 레벨은 이 특정 문제를 해결하는 데 가장 적합한 레벨이 아닙니다. 백업의 문제 rsync는 일관성이 없다는 것입니다. 사용자가 변경하는 경우file1 그 다음에 file2백업이 진행 중이지만 백업이 도착하기 file2전에 file1백업에는 이전 버전 file2과 새 버전이 모두 포함됩니다 file1. file2새 버전 이고 삭제 file1되면 file1파일이 백업에 전혀 표시되지 않는다는 의미이며 이는 확실히 좋지 않습니다.

이 문제에 대한 해결책은 다음을 만드는 것입니다.스냅 사진파일 시스템의 파일 시스템을 선택하고 여기에서 백업을 실행합니다.

스냅샷 기술에 따라 사용자가 스냅샷을 읽을 수 있도록 하는 방법이 있을 수 있습니다. 그렇지 않은 경우 스냅샷을 마운트하고 범용 파일 시스템 기반 솔루션을 사용하십시오. 그렇더라도 일반 사용자로 실행하면 소유권을 백업할 수 없기 때문에 rsync에는 여전히 문제가 있습니다. 따라서 여러 사용자의 디렉터리를 백업하려면필요백업을 루트로 실행하십시오.

답변2

또 다른 (좀 더 복잡한 ;)) 방법은 관련 파티션의 읽기 전용 보기를 수행하는 것입니다( kpartx -r또는 원시 파티션인 경우 lvm 스냅샷(선호!), btrfa/zfs/에 스냅샷 기능이 내장된 경우( 선호) 마찬가지로)) 백업 사용자에게 이에 대한 읽기 전용 권한을 부여합니다. 그런 다음 kvm에서 이 파티션(가상 HDD를 통해 제공됨)을 대상(qemu/kvm을 사용하는 경우 공유 폴더라고도 불리는 p9에서 제공됨)에 자동으로 백업하는 작은 Linux를 준비하십시오.

답변3

한 명의 사용자만 root시스템의 모든 파일을 읽을 수 있습니다. 이것이 상용 백업 소프트웨어를 실행하려면 루트 액세스가 필요한 이유입니다. 이를 수행하는 방법에는 여러 가지가 있지만 rsync를 사용하려는 경우 동등한 루트 계정을 만들고 유사 /sbin/nologin하거나 동등한 계정으로 셸을 설정한 다음 해당 사용자가 이를 사용하도록 하는 것이 좋습니다 cron. 더 깊어지면 sudoers일이 더 쉬워지고 필요 이상으로 복잡해지고 완전히 새로운 문제가 발생합니다.

관련 정보