ローカルネットワークには2つのUbuntuサーバー(12.04.5 LTSと16.04.1 LTS)があります。私は両方のサーバーの管理者であり、そのサーバーのスーパーユーザーになることができます。各サーバーがAとBであると仮定し、サーバーAにログインします。
AのファイルをBのディレクトリにコピーするには、そのファイルを配置するためにBのroot権限が必要です。どうすればいいですか?
私の試みは次のとおりですが、サーバーBに権限がないため、成功しませんでした。
sudo scp /foobar/foo/bar.txt user@serverB:/bar.txt
scp: /bar.txt: Permission denied
sudo権限は、宛先ディレクトリではなくソースディレクトリの権限にのみ影響します。
もちろん、ターゲットディレクトリの権限を適切に変更すると、権限なしエラーなしでファイルをコピーできます。しかし、ファイルをコピーするたびに権限を変更するのはやや面倒です。
さらに、Ubuntuのデフォルト設定では、ルートが両方のサーバーにログインすることはできません。
もし良い方法知っていれば教えてください。私はbashシェルを使います。
ベストアンサー1
通常のユーザー(rootではない)で元のシステムのファイルを読み取ることができる場合は、push scpの代わりにpull scpを使用することを検討してください。
serverB:~$ sudo scp user@serverA:/foobar/foo/bar.txt /bar.txt
ソースコンピュータからファイルを読み取れない場合は、上記の2つの手順を実行する必要があります。複数のコンピュータでsudoを動作させることはできません。