모든 파일 및 폴더에 사용자 권한 부여

모든 파일 및 폴더에 사용자 권한 부여

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

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

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

rsync: send_files가 '/location/to/file'을 열 수 없습니다: 권한이 거부되었습니다. (13)

사용자에게 모든 것에 대한 액세스 권한을 부여하는 방법을 알아보세요 backups(사용자를 모든 그룹에 추가하는 것 외에도 백업하려는 원격 서버는 시스템에 각 계정이 고유한 사용자를 갖는 전용 호스팅 서버입니다).

도와주셔서 감사합니다.

답변1

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 섹션을 구체적으로 읽어야 합니다.

답변2

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

rsync.conf기본적으로 with를 만든 uid=root후 를 사용하세요 rsync -az rsync://domain.com.

바라보다http://pastebin.com/5hQx1mRV예를 들어, 다른 사람들이 쓴 것과rsync 데몬 구성Ubuntu에서 서버를 활성화하는 몇 가지 기본 사항을 알아보세요.

그렇게 하는 경우 보안을 고려해야 합니다. 더 나은 접근 방식은 원격 시스템을 로컬 시스템에 푸시하는 것입니다.

답변3

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 n여기서 n은 병렬 프로세스 수입니다. 컴퓨터의 CPU 수 + 1로 설정할 수 있습니다.

관련 정보