CentOS 6での特権作業¶
sudo¶
rootでログインして作業するのは管理上リスクが高まるので、一般ユーザーでログインし、必要な操作に限ってroot権限で実行するのが推奨されます。
その場合、sudoを使うのが一般的です。
sudo の設定¶
wheelグループを使う場合¶
- visudo コマンドで、sudo設定ファイルを編集します。設定ファイルでコメントアウトされている次の行を有効にします。
# %wheel ALL=(ALL) ALL
- sudoで特権操作を許すユーザーをwheelグループに加えます。
# groupmems -g wheel -a foo
エイリアスの設定¶
visudoで編集
- ユーザーエイリアスの設定例
User_Alias NEPHEWS = huey, dewey, louie
%をつけるとグループ名を指定できます。 - コマンドエイリアスの設定例
Cmd_Alias HALT_OR_REBOOT = /sbin/halt
複数のコマンドを設定可能です。ユーザーエイリアスの例と同様、カンマで区切って列挙します。
sudo で実行するシェル環境の設定¶
sudo で実行するシェル環境は、/etc/sudoers の設定で定義された環境変数のみ引き継ぎます。
デフォルトの設定は次です。
Defaults always_set_home Defaults env_reset Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS" Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE" Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES" Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE" Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
sudoを実行するユーザーの環境変数を引き継ぎたいときは、sudoに-Eオプションを指定します。
~$ sudo -E ls
/etc/sudoers(visudo)を編集したら再起動が必要なことも¶
ユーザーをグループwheelに追加し、sudoersを変更後には反映されないことがあります。再起動すると反映されます。