2009年2月14日土曜日

sudo

こんにちは、モリモルです。

sudoのメモです。

設定ファイル
/etc/sudoers

visudo
visudoコマンドで編集するエディタは、環境変数 EDITORに指定する。
export EDITOR=vim

この環境変数がないと、altervertiveのeditorが使われる。

debian:~# update-alternatives --display editor
editor - status is auto.
link currently points to /bin/nano


【ユーザー名】 【ホスト】=(【代行するユーザ】) 【実行できるコマンド】
morimoru ALL=(ALL) ALL
ユーザーmorimoruは、全てのホストから、全てのユーザーを代行して、全てのコマンドを実行できる。

%【グループ名】 【ホスト】=(【代行するユーザ】) 【実行できるコマンド】
%wheel ALL=(ALL) ALL
wheelグループのユーザーは、全てのホストから、全てのユーザーを代行して、全てのコマンドを実行できる。

(【代行するユーザー】)を省略すると、rootということになります。



Aliasを作っていろいろとまとめる

ローカルネットワークのエイリアス
Host_Alias LOCAL = 192.168.91.0/24

ユーザーをまとめたエイリアス
User_Alias DEV = morimoru, takaki

コマンドをまとめたエイリアス
Cmnd_Alias IFCONFIG = /sbin/ifconfig
Cmnd_Alias REMOVE = /bin/rm, /usr/bin/unlink, /bin/rmdir, /sbin/newfs
Cmnd_Alias SHUTDOWN = /sbin/shutdown, /sbin/halt, /sbin/poweroff


DEV LOCAL=(ALL) ALL, !IFCONFIG, !REMOVE, !SHUTDOWN

ユーザー(morimoruとtakaki)は、ローカルアドレスのホストからののみ、全てのユーザーとして、
コマンドエリアス(IFCONFIG/REMOVE/SHUTDOWN)意外のコマンドを全て実行できる。

morimoru@debian:~$ sudo -u root ifconfig
Sorry, user morimoru is not allowed to execute '/sbin/ifconfig' as root on debian.localdomain.



sudoのログ
sudoしたログは、/var/log/auth.logに記録されます。

morimoru@debian:~$ sudo tail -2 /var/log/auth.log
Feb 18 18:15:02 debian sudo: morimoru : TTY=pts/0 ; PWD=/home/morimoru ; USER=root ; COMMAND=/usr/bin/tail -2 /var/log/auth.log
Feb 18 18:15:14 debian sudo: morimoru : command not allowed ; TTY=pts/0 ; PWD=/home/morimoru ; USER=root ; COMMAND=/sbin/ifconfig