リモートユーザーとsudoを使用してリモートからフォルダをコピーする方法は?次のいずれも権限のあるフォルダでは機能しません。権限が拒否されると失敗します。
scp -r [email protected]:/source/ /destination/
sudo scp -r [email protected]:/source/ /destination/
リモートでsshを実行して実行すると、sudo su
これらのファイルとフォルダを表示できます。scp
SSHベースである限り、それが使用されたかどうかは私にとって重要ではありません。
scp
おそらく、これはセキュリティ上の利点としてsudo権限を使用することによる制限です。ただし、SSHを介してsudo su
すべてのフォルダを実行して表示できますが、リモートからダウンロードできないことは本当に面倒です(tar
ダウンロードを介してこの問題を解決できますが)。
ベストアンサー1
自分がNOPASSWDアクセス権(すべてのコマンドまたは「tar」または「cat」へのアクセス)を持っているか付与できると仮定すると、次のようになります。
# For a single file
ssh [email protected] 'sudo cat /source/SINGLE_FILE' > /destination/SINGLE_FILE
# for recursive copying, use tar or cpio
ssh [email protected] 'sudo tar -C /source/ -czf - .' | tar -C /destination/ -xzf -
リモート側でsudoを実行し、stdoutを書き込むプログラムを介してファイルをstdinを読み取るプログラムに転送する必要があります。
sudoパスワードを入力する必要がある場合は状況が悪くなりますが、rsyncサーバーとポート転送を使用すると可能です。