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ユーザーがrootに切り替える必要があります。sudo -su
scp
もしそうなら、sudorsync
ユーザーがrootに切り替えてrootが所有するファイルを(非対話的に)ダウンロードする方法はありますか?
答え1
この回答を参照してください。 SCP自体はこれを許可しませんが、「ssh sudo cat」をすばやく実行して同じ効果を得ることができます。ファイル数が多いと拡張性は良くありませんが、ファイル1つで十分です。