rsync
ServerA에서 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를 사용하려면 sudo
with를 사용하여 호출할 수 있지만 파일에서 제거하면 건너뛸 수 있다는 점에 유의하세요.rsync
--rsync-path="sudo rsync"
require TTY
Defaults requiretty
sudoers
자신이 소유하지 않은 항목에 대한 권한을 변경하려면 sudo
소유하지 않은 권한을 사용해야 합니다.root
setuid
아니면 on 을 설정하는 것과 같은 다른 방법이 있습니까 chmod
? 누구든지 를 로 실행할 chown
수 있지만 그렇게 될 것입니다.chmod
chown
root
끔찍한.