*** sudo(Super User DO)とは [#pd6e8413]
- 以前働いていた会社では、一般アカウントからsuコマンドを使わせるために社員全員がrootのパスワードを知っているというとても危険な環境で当然そういう風に会社のサーバ運用をしているので、皆が危機感ひとつないという状態でした。当然の事ながら重要なファイルを消したりサーバ全体を消したりと大変でしたよ。いわゆるsuコマンドで「誰が何をしたのか判らない記録されない」という状況でした。
- 本来であれば、suコマンドは管理者のみが使うべきであり一般ユーザは、特別なことがない限りは使用させない。といっても、管理者がいないときもある訳だし、suコマンドを使用できるレベルがあればそれぞれのスキルに応じて運用させる方法があれば多少の問題解決にはなる。そんな観点から発生したのがsudoコマンドです。
- sudoコマンドのメリット
特定のアカウントに対してsuコマンドを許可することができる
suコマンドで使用できるコマンドを制限することができる
rootパスワードを不要とすることができる
実行コマンドを全てログに記録することができる
など
: 前提条件 | COLOR(RED){''sudo''}パッケージがインストール((パーケッジの[[インストール方法>パーケッジのインストールの巻]]はこちらを参照))されていることが条件。~
パッケージの確認は、COLOR(RED){''rpm -q sudo''}コマンドで確認できるよ。~
*** sudoの設定 [#dc02a4be]
- suコマンドが、rootユーザ以外に使えてはsudoコマンドを使用する意味がないので、pam.dの設定でrootユーザ以外にはsuコマンドを使用できないよに設定を行う。[[OS入れた後の作業の巻]]rootユーザに成り代わる設定を参照のこと。
- COLOR(RED){''/etc/sudoers''} に許可したいアカウントを記述する。
# User privilege specification
root ALL=(ALL) ALL
hoge ALL=(ALL) PASSWD:ALL
- もしくは、wheelグループに指定されているアカウントを許可するようにしてもよい
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL ← コメントをはずす
: COLOR(RED){''注意!''} | COLOR(RED){''/etc/sudoers''}を直接編集しないこと上記では、判りやすく説明するために直接ファイルを開いています。~
本来は、COLOR(RED){''/usr/sbin/visudo''}コマンドを実行して編集すること。
- 個別ユーザの設定は COLOR(RED){''/etc/sudoers''} に記述せず、COLOR(RED){''/etc/sudoers.d''} にファイルを作成し管理する方法が好ましい。
-- hoge ユーザを NOPASSWD にする方法
# vi /etc/sudoers.d/hoge
hoge ALL=(ALL) NOPASSWD: ALL
*** 使用方法 [#j87ee551]
- こんな感じで使用します
% whoami
hoge
% sudo su
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:
#1) Respect the privacy of others.
#2) Think before you type.
Password: ← ここでは、hoge さんのパスワードを入れます
# ← rootユーザになれましたね
*** 参考にさせて頂いたサイト様 [#n9c6bf1e]
- [[止められないUNIXサーバのセキュリティ対策>http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec05/unix_sec01.html]]
- [[止められないUNIXサーバのセキュリティ対策 第6回 - Page1>http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec06/unix_sec01.html]]
- [[sudo(SuperUserDo) を使用する目的>http://www.sea-bird.org/doc/Qube3J/sudo.html]]