Solaris 資料一覧
一般ユーザでsnoopを実行する(Solaris10)
2008/4/1更新
対応バージョン: 10
Solaris10で提供されている最小特権モデル(Least Privilege Model)という機構を用いて、通常管理者にしか実行できないsnoopコマンドを一般ユーザに実行させることができる。
まず通常の状態ではsnoopコマンドは失敗する。
% snoop snoop: /dev/iprb0: Permission denied
これに対して以下のように一般ユーザのデフォルトの特権であるbasic(*)にnet_rawaccess(ネットワーク層への直接アクセスを許可する)を加えることによりsnoopが実行できるようになる。
# usermod -K defaultpriv=basic,net_rawaccess foo
% snoop Using device /dev/iprb0 (promiscuous mode) :
ユーザの特権設定は/etc/user_attrファイルに格納される。
foo::::type=normal;defaultpriv=basic,net_rawaccess
尚、すでに該当のユーザがログインしている場合は以下のメッセージが出て次回のログインから設定が有効になる。
UX: usermod: foo is currently logged in, some changes may not take effect until next login.
(*) basic特権は以下の特権の集合を表す。
file_link_any
プロセスの実効ユーザIDと異なるユーザIDによって所有されているファイルへのハードリンクを作成できるようにする。
proc_info
シグナルを送信できるプロセス以外のプロセスの状態を調査できるようにする。調査できないプロセスは/procに表示されないため存在していないように見える。
proc_session
プロセスのセッション外でシグナルを送信したりプロセスをtraceしたりできるようにする。
proc_fork
fork1(),forkall(),vfork()をコールできるようにする。
proc_exec
execve()をコールできるようにする。
全ての特権については以下のコマンドで参照できる。
% ppriv -lv