sudo 사용자(비대화식)로 root
원격 서버에서(또는 을 통해 ) scp
권한이 필요한 파일을 어떻게 다운로드 할 수 있습니까?rsync
노트sudo 사용자는 명령 비밀번호를 요구하도록 구성되지 않았습니다 sudo
. sshpass
로컬 및 원격 시스템에 설치됩니다 .
다운로드 명령은 다음과 같습니다.
sshpass -p {sudo-user-pass} scp {sudo-user}@{host}:/path/to/some/root/owned/file.tar.gz ./
file.tar.gz
이 명령은 오류가 루트의 소유이므로 "권한 거부" 오류를 발생시킵니다 .
이 파일을 다운로드하려면 sudo 사용자가 루트로 전환해야 합니다.sudo -su
scp
그렇다면 sudo rsync
사용자가 루트로 전환하여 루트가 소유한 파일을 (비대화형으로) 다운로드할 수 있는 방법이 있습니까 ?
답변1
이 답변을 참조하십시오. SCP 자체는 이를 허용하지 않지만 "ssh sudo cat"을 빠르게 수행하여 동일한 효과를 얻을 수 있습니다. 파일 수가 많으면 확장성이 좋지 않지만 파일 1개이면 충분할 수 있습니다.