現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、Solaris 10に実装されている最小特権機能について解説します。
Solaris 10の最小特権機能(Least Privilege)とはどのような機能ですか? また、その利用方法を教えてもらえますか?
Solaris 10 の最小特権機能では、一般ユーザーに必要最低限の特権を与えることで、root権限でのみ実行可能なコマンドを利用できるようにします。Solaris 9のRBACやsudoコマンドを使用した場合よりも、与える特権が少なく済むため、セキュリティリスクを低く抑えられます。
一般ユーザーに与えることができる特権は、cpc_cpu、dtrance_kernel、dtrance_proc、file_chown、ipc_owner、net_rawaccess、proc_chroot、sys_acctなど計48種類あります。ここでは、一般ユーザーにNFSマウントの実行権限を与える場合を例として、この機能の設定方法を説明します。
まずrootユーザーでログインし、一般ユーザーtestを作成します。
# useradd -d /export/home/test -m -s /bin/bash test
作成したユーザーtestでログインし、ホームディレクトリにNFSマウント先のディレクトリを作成します。
# su - test
% cd ~
% mkdir mnt_test
現在の状態でNFSマウントできないことを確認します(NFSサーバのIPアドレスを10.10.10.10とする)。その後、ユーザーtestからログアウトしてrootユーザーに戻ります。
% /usr/sbin/mount 10.10.10.10:/test /export/home/test/mnt_test
nfs mount: 特権が不十分です
% exit
ユーザーtestにNFSマウントの実行を許可する権限を与えます。NFSマウントの実行に必要な権限はsys_mountとnet_privaddrですので、この2つをユーザーtestに与えます。
# usermod -K defaultpriv=basic,sys_mount,net_privaddr test
設定変更が反映されたかどうか、設定ファイル/etc/user_attrを確認します(リスト1)。その後、再度ユーザーtestでログインしてNFSマウントを実行し、dfコマンドで確認します(実行例1)。
# /etc/user_attr
#
# user attributes. see user_attr(4)
#
#pragma ident "@(#)user_attr 1.1 03/07/09 SMI"
#
adm::::profiles=Log Management
lp::::profiles=Printer Management
root::::auths=solaris.*,solaris.grant;profiles=Web Console Management,All;lock_after_retries=no
test::::type=normal;defaultpriv=basic,sys_mount,net_privaddr
$ /usr/sbin/mount 10.10.10.10:/test /export/home/test/mnt_test
$ df -k
ファイルシステム kbytes 使用済み 使用可能 容量 マウント先
/dev/dsk/c0t0d0s0 8242901 6307052 1853420 78% /
:
:
10.10.10.10:/test 19219513 13936562 5090756 74% /export/home/test/mnt_test
Copyright © ITmedia, Inc. All Rights Reserved.