sudoを効果的に使えることは,ある程度以上の規模のサーバ管理を複数人で行うとすれば必要になってくるのだろう.今回は権限の委譲とパスワードプロンプト抑制というテーマである.
ターゲットは極私的な,しかも完全に安全なところに配置されているラボラトリサーバである.会社や大学の一般のサーバ上では権限の委譲はある程度良いにしてもパスワードプロンプト抑制はおこなわないように.
グループ作成
ここではADM_LIMITEDというグループを作成し,特定のパワーユーザをこのグループに属させ,そのグループを経由してroot権限を委譲する.
まずは以下のコマンドでグループ ADM_LIMITEDを作成,そしてユーザをそのグループに属させる.
groupadd ADM_LIMITED usermod -G ADM_LIMITED tanuchan
新規ユーザをそのままグループに属させたいならばuseraddの-gオプションを使う.
とりあえずidコマンドでユーザのグループ情報を確認しておこう.グループは基本は追加すること.リプレースは危険だ.
sudoviで編集
sudoの設定ファイルは/etc/sudoersであるが,直接ファイルを編集すべきでない.代わりにvisudoコマンドを使うべきである.visudoコマンドは編集後自動的にバリデーションを行ってくれて,バリデーションに失敗した時は what now? と編集に戻るかどうか聞いてくれるので安全だ.ちなみにrootまたはそれに準ずる権限でvisudoコマンドを実行すること.
権限移譲とパスワードプロンプト抑制
visudoコマンド実行後,sudoersファイルが開かれる.ポインタをずっと下げていくと Allows people in group wheel to run .. というセクションが見つかる. そこらへんに以下のような行を追加.
%ADM_LIMITED ALL=(ALL) ALL %ADM_LIMITED ALL=(ALL) NOPASSWD: ALL
これを保存すれば,全てのADM_LIMITEDユーザがパスワード入力なしで任意のコマンドをsudo経由で実行できる.sudo (ver 1.8.6p7)は毎回/etc/sudoersを読みにいくので何かのプロセスを再起動等は必要ない.ただし,新しいグループに対する変更はどうやらサーバのリブートが必要かもしれない.
個人にroot権限を付与できるが
これは出来るだけやめておこう.極私的なサーバで,一切公開の予定無しという環境であれば問題ないが,拡張性等の点からいってもベストプラクティスではないのでできるならグループ経由で権限移譲をしよう.
0 件のコメント:
コメントを投稿