Rsync를 루트로 사용하여 권한이 거부되었습니다.


3

내가 접한 모든 주제는 액세스가 제한된 사용자를 대상으로 하거나 사용하는 것과 관련 rsync이 있습니다.sshrsync

루트로 권한 거부 (13) 오류가 발생합니다. 구성 파일은 다음과 같습니다.

/etc/rsyncd.conf :

auth users = backup, root
secrets file = /etc/rsyncd.secrets

[backupdir]
    path = /backupdir

/etc/rsyncd.secrets (파일 모드 600, 소유자 루트, 그룹 루트) :

backup:backuppassword
root:rootpassword

rsync를 수행하는 bash 스크립트 :

export RSYNC_PASSWORD=rootpassword

rsync -a --verbose --delete rsync://root@myserver/backupdir mydestination

위의 bash 스크립트 mydestination는 Win XP 시스템 myserver에 있으며 데비안 서버입니다.

답변:


4

메인 페이지에서 rsyncd.conf:

auth users
       This parameter specifies a comma and space-separated list of usernames
       that will be allowed to connect to this module. The usernames do not need
       to exist on the local system. [...]

즉, rsync 데몬에 대해 선택한 사용자 이름이 동일한 이름의 시스템 사용자와 연결되어 있지 않습니다.

그러나 파일에 액세스 할 때 (최소한 루트 권한으로 디먼을 시작한 경우) rsync 디먼이 사용해야하는 사용자 ID 및 그룹 ID를 설정할 수 있습니다.

uid    This  parameter  specifies  the user name or user ID that file transfers to
       and from that module should take place as when the daemon was run as root.
       In combination with the "gid" parameter this determines what file permissions
       are available. The default is uid -2, which is normally the user "nobody".

gid    This parameter specifies the group name or group ID that file transfers to
       and from that module should take place as when the daemon  was  run  as  root.
       This complements the "uid" parameter. The default is gid -2, which is normally
       the group "nobody".

예를 들면 다음과 같습니다.

uid = johndoe
gid = johndoe

감사! 효과가있었습니다. 더 이상 권한 오류가 발생하지 않습니다.
Ash
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.