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