Solaris -> Solaris10 -> セキュリティー

















































RBAC機能

一般ユーザでのrootアカウントのロック解除

設定ファイル


実現するには3つのファイルと pfsh コマンドを使用する。

(1) /etc/security/prof_attr

   このファイルは予め登録されている、User Securityを使用する。

   # grep -i pass /etc/security/prof_attr
   User Security:::Manage passwords, clearances:auths=solaris.role.*,solaris.profmgr.*,
                     solaris.label.range,solaris.admin.usermgr.*;help=RtUserSecurity.html

   追加したい場合は以下のように記述する
      任意の名称:::コメント:help=dummy.xml


(2) /etc/security/exec_attr     * 実行するコマンドを定義する。
   このファイルは予め登録されている、User Security を使用する。の
   passwd コマンドを使用する。

   # grep "User Sec" exec_attr
   User Security:solaris:act:::SDTscgui;*;*;*;0:uid=0
   User Security:solaris:cmd:::/usr/sbin/passmgmt:uid=0
   User Security:suser:cmd:::/usr/bin/passwd:uid=0
   User Security:suser:cmd:::/usr/sbin/pwck:euid=0
   User Security:suser:cmd:::/usr/sbin/pwconv:euid=0

   追加したい場合は以下のように記述する
      任意の名称:suser:cmd:::コマンド:uid=0
      * コマンドをuid=0で実行するという意味
      * カラムの説明
        name:policy:type:res1:res2:id:attr
        詳細は man exec_attr を参照
   

(3) /etc/user_attr   * ユーザがどのプロファイルを実行するかを定義する。

    今回は一般ユーザ "user01" が root のロック解除及び パスワード変更できるようにする。
    (passwd コマンドを root ユーザとして実行できる権限を付与する)

    以下のエントリを追加する。
    user01::::profiles=User Security


実行

コマンドをroot権限で実行する場合は、pfsh を使用する。
root権限で実行したいコマンドはオプションを含めて
ダブルクォーテーションで囲まなければならない。


rootのロックを解除する。

# grep root /etc/shadow
root:*LK*QKPiVWuOpK/NA:15374::::::
#
# su - user01
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005
$


$ pfsh -c "/usr/bin/passwd -u root"
passwd: password information changed for root
$

$ exit
#
# grep root /etc/shadow
root:QKPiVWuOpK/NA:15374::::::
#


rootのパスワードを変更する。
$ pfsh -c "/usr/bin/passwd root"
New Password:
Re-enter new Password:
passwd: password successfully changed for root
$

一般ユーザへの passwdコマンド実行権限付与 の問題点

一般ユーザに対して root 権限で passwd コマンドの実行を許可するということは
rootパスワードの変更が可能となり、
root権限を得たと同じことでありセキュリティ上問題がある。
あくまで root がロックされた場合の緊急用の措置として使用するのであれば
ロックを解除する機能だけ許可すればよい。
ただし、exec_attr にはコマンドオプションは指定できないようなので、
root権限でのみ実行できるロック解除シェルを作成し、それを許可するように設定する。

新たに作成するエントリ


新たに AccountUnlock という権利を作成する。

(1) /etc/security/prof_attr
    * 追加する行
    AccountUnlock:::rootAccountUnlock:help=Dummy.html

(2) /etc/security/exec_attr
    * 追加する行
    AccountUnlock:suser:cmd:::/etc/security/AccountUnlock.sh:uid=0

(3) /etc/user_attr
    * 追加する行
    user01::::profiles=AccountUnlock

解除用のシェル


  AccountUnlock.sh
  ------------------------------------
  #!/bin/sh
  /usr/bin/passwd -u root
  exit 0
  ------------------------------------

  rootのみ実行権限を付与
  # chmod 500 AccountUnlock.sh

  # ls -l AccountUnlock.sh
  -r-x------   1 root     root          36 Feb  5 10:29 AccountUnlock.sh
  #

実行


シェルでrootのロック解除ができたか確認
# passwd -s root
root   LK
#

# su - user01
$ pfsh -c /etc/security/AccountUnlock.sh
passwd: password information changed for root
$
$ exit

# passwd -s root
root   PS
#



 passwdコマンドは使用できないことも確認

$ pfsh -c "/usr/bin/passwd -u root"
Permission denied
$

GUIで操作する場合


  以下のコマンドで管理コンソールを起動する。
  # smc &



先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google