私のホストをリモートでコピーしたいのですが、うまく/etc/hosts
いきません。ルートSSHアクセスが作業をより簡単にすることはわかっていますが、IMHOルートSSHアクセスは少し危険です。
cat /etc/hosts|ssh samba2 "sudo su -c "sh -c cat > /etc/hosts""
私のユーザーはアクセス権を拒否され、コマンドは失敗しますsudo
。
解決策はありますか?
ベストアンサー1
cat /etc/hosts | ssh samba2 'sudo tee /etc/hosts > /dev/null'
プログラムはtee
rootとして実行されるため、/etc/hosts
標準入力を使用して上書きできます。tee's
私たちがそれを見る必要がないか見たくないので、stdoutを捨ててください。
そして、珍しい参照のために難題を超える必要はありません。
>>
これは、上書きするのではなく追加(で示すように)する必要がある場合に機能しますtee -a
。