-1
私は本当になぜこれが起こっているのか理解できない奇妙な問題を経験しています。シェルから手動で次のコマンドを実行すると、手動で動作します。次のコマンドはbashで動作しますが、スクリプトでは動作しません。
sudo -u some-user echo "$SSH_KEY" | /home/some-user/.ssh/authorized_keys
しかし、bashスクリプトからは、メッセージに失敗してアクセス権がありません。
#!/bin/bash
sudo -u some-user echo "$SSH_KEY" | /home/some-user/.ssh/authorized_keys
設定するbashオプションはありますか?誰かがこの動作を説明できますか? これは、非対話型端末などのためのbashセキュリティのようなものですが、私はソリューションのためにGoogleに創造性を失いました。
私はUbuntu 16.04を実行しています。
bashスクリプトから実行したときのメッセージの正確なテキスト*は何ですか?どのようにbashスクリプトを実行しますか?おそらく最も重要なのは、 'some-user'が実行可能プログラムを認証キーファイルとして持つのはなぜですか? –
質問に間違ったコマンドをコピーする必要があります。スクリプトにコピーするときに同じエラーが発生した可能性もあります。 – Barmar
'authorized_keys'は' sudo'の有無にかかわらず、実行できるコマンドではなく、データファイルです。 – Barmar