あるユーザーのSSH秘密鍵を一度に別のユーザーにコピーしようとしています。
sudo su && cp /home/sk/keys/master.pem /home/sg-user/keys/
このコマンドを1つずつ実行すると正常に実行されます。ただし、次のようにエラーが表示されます。
cp: cannot create regular file ‘/home/sg-user/keys/master.pem’: Permission denied
上記のコマンドを実行すると、以下のようにルートプロンプトに切り替わります。
root@sk-box:/home/sk#
頑張った
sudo su && cp /home/sk/keys/master.pem /home/sg-user/keys/ && exit
コマンドが操作を完了した後、ルート端末を終了していることを確認してください。しかし、シャットダウンコマンドは効果がなく、ルートセッションからプロンプトが出ません...
注:パスワードを要求せずにファイルをsudo su
使用するように構成されています。/etc/sudoers
ベストアンサー1
コマンドが実行されるとサブプロセスに分割されるため、「su」コマンドが実行されると実際にはルート端末で実行されるのではなく、cpコマンドとは異なるプロセスで実行されます。
sudoでcpを実行するとコマンドは機能しますが、ルート端末内では実行されません。これを行うには、su内で別々にコマンドを実行する必要があります。
sudo su && sudo cp /home/sk/keys/master.pem /home/sg-user/keys/
コピーを完了したい場合は、「sudo so &&」は重複します。これが必要なものです。
sudo cp /home/sk/keys/master.pem /home/sg-user/keys/