
ユーザーパスワードの代わりにルートパスワードを要求するように sudo を設定することは可能ですか?
サーバーは、ルートユーザーと、サーバーでホストされているすべてのアプリケーションを展開するために使用される、限定された権限を持つシンプルユーザー(シンプルと呼ぶことにします)で構成されています。ユーザーシンプルはsudoersリストにないため、
$ sudo command
simple のパスワードでは root 権限を付与できないため、動作しません。
時々、Capistrano (Ruby のデプロイメント ツール) 経由でルート アクセスを必要とするスクリプトを実行する必要がありますが、ルートとしてログインし、スクリプトを実行してからログアウトするスクリプトをコーディングするのは非常に困難です。次のステートメントを実行できるようにしたいと思います。
$ sudo god restart tasks-group
そして、Capistrano にルート パスワードの入力を求めさせます。現在、Capistrano はデプロイメント ユーザーのパスワードを求めますが、これは明らかに管理者以外のアカウントです。
答え1
sudo を本来の目的とは異なる方法で動作させようとしているのだと思います。つまり、sudoers ファイルに「simple」ユーザーを追加したくないのです (間違っていたら訂正してください)。
その場合、sudo は使用したいツールではなく、su -c <command>
このコマンドを発行すると、ルート パスワードの入力が求められ、コマンドが実行されて終了します。
答え2
ユーザーに自分のパスワードまたはルートのパスワードで認証させたい場合は、sudoers ファイルに設定するフラグがあります。このフラグは と呼ばれますrootpw
。Sudo は非常に強力なパッケージなので、sudoers(5) のマニュアル ページを必ず確認してください。
答え3
いいえ。rootsu
パスワードを使用して root になるには、 を使用します。
おそらく、より良い解決策は、sudo
ルート アクセスを必要とするタスクのデプロイメント マシンで capistrano を使用することです。
答え4
デプロイメント ユーザーに sudo が許可されている場合、その時点でそのユーザーは管理者として動作できる特権アカウントになります。これが sudo の目的です。それとも、私が質問を読み間違えているのでしょうか?