rsync 명령은 권한을 유지하지 않습니다

rsync 명령은 권한을 유지하지 않습니다

rsync파일 전송 후에는 권한/소유권이 유지되지 않습니다. 이것이 바로 그 장면이다

소스 호스트( 192.168.2.14 파일이 복사되는 호스트):

소스 경로

 # ls -l "/shareddata/tesz/"
 total 4
 drwxrwsr-x 2 root admin 4096 Sep 15 19:38 web

 # ls -l /shareddata/tesz/web/
 total 0
 -rw-rw-r-- 1 askar admin 0 Sep 15 19:38 test1 
 -rw-rw-r-- 1 dey   admin 0 Sep 15 19:38 test2

대상 경로:

 # ls -ld /shareddata/
 drwxrwxr-x. 4 root admin 4096 Sep 15 19:44 /shareddata/

rsync파일을 복사하려는 명령은 다음과 같습니다 fsync.

$ id fsync
uid=700(fsync) gid=502(admin) groups=502(admin)


/usr/bin/rsync -rogp 192.168.2.14:/shareddata/tesz /shareddata/
/usr/bin/rsync -av 192.168.2.14:/shareddata/tesz /shareddata/

rsync파일이 복사되는 대상 호스트에서 명령을 실행하고 있습니다 . 하지만 파일 전송 후에는 권한/소유권이 유지되지 않는 것을 볼 수 있습니다.

$ ls -l /shareddata/
  total 8
       drwxrwsr-x 3 fsync admin 4096 Sep 15 19:44 tesz

 $ ls -l /shareddata/tesz/
 total 4
 drwxrwsr-x 2 fsync admin 4096 Sep 15 20:29 web

 $ ls -l /shareddata/tesz/web/
   total 0
   -rw-rw-r-- 1 fsync admin 0 Sep 15 20:29 test1
   -rw-rw-r-- 1 fsync admin 0 Sep 15 20:29 test2

rsync권한을 유지하려면 명령에서 어떤 수정이 필요합니까 ?

답변1

설명에서 언급했듯이 권한을 유지하려면 원격 rsync 프로세스를 슈퍼유저 권한으로 실행해야 합니다. 원격 서버에 sudo 액세스 권한이 있는 경우 이 --rsync-path옵션을 사용하여 루트로 rsync를 실행할 수 있습니다.

rsync -av --rsync-path "sudo rsync" source/ server:/destination/

관련 정보