rootでシェルコマンドを実行するには?

rootでシェルコマンドを実行するには?

私はAmazon EC2インスタンスで実行され、rootアクセスを必要とする特定のコマンドを実行するアプリケーションを開発しています。問題は、異なる仮想マシンが異なる方法でルートアクセスを提供することです。たとえば、一部の仮想マシンはルートアカウントへの直接アクセスを許可し、他の仮想マシンはルートではなくプライマリユーザーにのみsudoアクセスを許可します。

これで、すべてのコマンドの前に「sudo」を追加するオプションを追加することで、上記の例を簡単に解決できます。しかし、私はUnixに慣れておらず、プログラムを準備する必要があるroot権限を取得する他の方法があるかどうかを知りたいです。 suとsudoは十分合理的ですか?

ベストアンサー1

sudoに似たツールがいくつかあります(calife、op、superなど) - 参照システム管理者(root)でコマンドを実行する方法- しかし、Unixシステムに触れることなく、Unixシステムから一生を送ることができます(すべてsudoに置き換えられました)。実際にスクリプトをrootとして呼び出す必要がある場合は、すべてのシステムがパスワードのないsudoを持つように準備するか、rootとしてsshログインを許可します。 2つの間に大きなセキュリティの違いはありません。いずれにしても、スクリプトにはルートアカウントにアクセスするために必要なすべての資格情報が必要です。

スクリプトが特定のコマンドのみを実行できるようにするには、コマンドの特定のエントリを使用するか、行のある特定の/etc/sudoersキーcommand=を使用します~root/.ssh/authorized_keys

おすすめ記事