CentOSでSudoを使えるようにする
投稿日:2015年08月23日
最終更新日:2017年10月26日
サーバー運用において、rootでログインするのはかなり危険です。良くも悪くもなんでも出来てしまうので、少しのミスが命取りになりかねませんし、アカウントを乗っ取られたら一巻の終わりです。そうならないために、通常はコマンド単位でroot権限を付与できる「Sudo」を利用します。今回はこれを設定します。
目次
設定のやり方
WheelにSudoを許可
管理用ユーザーをWheelに所属させる
Sudoの使い方
詳細は以下
設定のやり方
WheelにSudoを許可
(まだSudoを設定していないので)サーバーにrootでログインしてください。そして、次のコマンドを打ちます。
[VIM]
visudo
[/VIM]
すると、Sudoの設定ファイルが表示されます。以下の箇所を編集しましょう。
[VIM]
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
[/VIM]
Vimがノーマルモードの時に /wheel と打ち込んでEnterキーを押せばすぐにこの記述に辿り着けると思います。ここをこう変更します。
[VIM]
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
[/VIM]
%wheel ALL=(ALL) ALL の行頭にあった#(井桁)を外すだけです。カーソルを井桁のところに合わせ、ノーマルモードのまま「x」キーを押すだけです。終わったら :wq で保存してください。この動作で、「wheelグループに所属しているユーザー」にSudoの利用を許可しました。
管理用ユーザーをWheelに所属させる
先ほどのファイル編集で、「wheelグループに所属しているユーザー」はSudoできるようになったので、管理用ユーザーをWheelグループに所属させましょう。引き続きrootでの作業になります。
[VIM]
gpasswd -a hoge wheel
[/VIM]
このコマンドを打ては、ユーザーhogeをwheelグループに追加できます(hogeは各自管理用ユーザー名に置き換えてください)。追加したら、正常に追加できているか確認しましょう。
[VIM]
cat /etc/group
[/VIM]
このコマンドで、ユーザーグループを確認できます。
[VIM]
wheel:x:10:hoge
[/VIM]
こんな感じになっていれば、とりあえずOKです。
管理用ユーザーでパスを通してSudoのテスト
Sudoして実行するプログラムは、/usr/sbinや/usr/local/sbinなんかに置かれてたりします。しかし、一般ユーザー(root以外)では、初期状態ではこちらへのパスが通っていないので、パスを通しておきます。今度は先ほどwheelに追加した管理用ユーザーでログインして作業しましょう。
[VIM]
cd $HOME
vim .bash_profile
[/VIM]
これからユーザーのホームディレクトリにある.bash_profileを編集します。(i , a , o のどれかのキーで編集開始)
[VIM]
PATH=$PATH:$HOME/bin #この下から追加分
PATH=$PATH:/sbin
PATH=$PATH:/usr/sbin
PATH=$PATH:/usr/local/sbin
[/VIM]
上記の3行を追加して保存してください(Escキー→:wq)。保存したら、
[VIM]
source ~/.bash_profile
[/VIM]
このコマンドを実行してください。最後に、Sudoがちゃんと機能しているか試してみましょう。
[VIM]
sudo yum update
[/VIM]
実行にはroot権限が必要な、サーバーのソフトをアップデートするコマンドを実行してみます。パスワード入力を求められたら、ログインしているユーザーのパスワードを入力してください。(同一のものを設定していない限り、)SSH公開鍵のパスフレーズ≠ユーザーのパスワードなので、くれぐれも間違えないように。コマンドが最後まで実行されれば、とりあえず成功です。
Sudoの使い方
Sudoは、先程の例で見たように、rootでないユーザーに、コマンド単位でroot権限を付与します。
[VIM]
sudo 実行したいコマンドを普通に打ち込む
[/VIM]
文頭にsudoと打ち込み、sudoの後ろに実行したい(root権限が必要な)コマンドを打てばOKです。パスワード入力を要求され、ログインしているユーザーのパスワードを打ち込み、合っていれば、そのコマンドにroot権限が付与されて実行されます。ソフトのインストールやアップデート、ユーザー管理、サービスの起動・停止などなど、root権限が必要な操作は全部sudoを文頭につけて実行すればいいです。
投稿者名:
Koguma