원격 rsync 서버에서 sudo를 강제 실행

원격 rsync 서버에서 sudo를 강제 실행

rsyncServerA에서 ServerB로의 파일 전송을 설정 중이며 타임스탬프와 권한을 보존해야 합니다. 여기서 중요한 점은 파일 소유자가 파일 전송을 수행한 계정과 다르다는 것입니다.

rsync파일을 전송하려면 다음 예를 사용하십시오.

rsync -a /colorschemes/ [email protected]:/colorschemes/ --delete

-a플래그는 다음과 같은 유형의 오류를 생성합니다.

rsync: failed to set times on "/colorschemes/946/ex": Operation not permitted (1)
rsync: failed to set permissions on "/colorschemes/946/ex/blue.pdf": Operation not permitted (1)

원격 시스템에서 파일 권한을 수동으로 설정하려고 하면 acoder 계정에 비슷한 오류가 발생합니다.

[acoder@bu ~]$ chown apache:codingteam /colorschemes/946
chown: changing ownership of ‘/colorschemes/946’: Operation not permitted

그러나 이것은 잘 작동합니다.

[acoder@bu ~]$ sudo chown apache:codingteam /colorschemes/946

원격 rsync에서 sudo를 사용하도록 하는 방법이 있습니까?

답변1

원격 시스템에서 with를 사용하려면 sudowith를 사용하여 호출할 수 있지만 파일에서 제거하면 건너뛸 수 있다는 점에 유의하세요.rsync--rsync-path="sudo rsync"require TTYDefaults requirettysudoers

자신이 소유하지 않은 항목에 대한 권한을 변경하려면 sudo소유하지 않은 권한을 사용해야 합니다.root

setuid아니면 on 을 설정하는 것과 같은 다른 방법이 있습니까 chmod? 누구든지 를 로 실행할 chown수 있지만 그렇게 될 것입니다.chmodchownroot끔찍한.

관련 정보