*********************************************************
SELinux Policy Editor for Webmin インストールドキュメント
*********************************************************

以下の手順に従って、Webmin および SELinux Policy Editor をインストール
します。なおインストールは permissive mode で行ってください。

1. インストール手順

1.1. Webmin のインストール

    システムに Webmin がインストールされていない場合には、以下のURLを
    参考に Webmin をインストールしてください。
    
		http://jp.webmin.com/Documents/DownloadAndInstall.html

1.2. converter のインストール

    converter は、SELinux Policy Editor の出力する中間設定ファイルを 
    SELinux オリジナルのセキュリティポリシー定義ファイルに変換する
    プログラムです。
    
    (1) converter_YYYYMMDD.tgz を適当なディレクトリにて展開します。
        
            $ tar xvzf converter_YYYYMMDD.tgz
        
        converter という名のサブディレクトリが作成されます。
        
    (2) Makefile の編集
    
    	converter の Makefile を編集し、インストール先を指定します。
    	Makefile の $(INSTALL_PATH) にインストール先を指定して下さい。
    	
    	※デフォルトでは /usr/local/selinux/converter が指定されてい
    	ます。
    	
    	インストール先を指定した後、コンパイルしてインストールします。
    	
            $ cd converter
            $ vi Makefile
            $ make
            $ su
            # make install
        
    (3) 動作確認
    
        converter が正しくインストールされたことを確認します。
        
            # cd $installpath/converter
            # make
        
        上記操作の結果として、下記のファイルが作成されていれば、
        converter は正しくインストールされています。
        
            $installpath/converter/policy/policy.conf
        
1.3. SELinux Policy Editor アドインモジュールのインストール

    (1) Webmin のロケールを日本語に切り替えます。
    
        Webmin に admin でログインし、
        Webmin configuration -> Language -> Japanese を選択します。
        
    (2) インストール
    
        (A) Webmin に admin でログインし、以下のメニューを選択します。
        
            Webmin 設定 -> Webmin モジュール
            
        (B) SELinux Policy Editor Webmin モジュールのインストール
        
           「モジュ−ルのインストール」領域の「ローカルファイルから」
           入力欄にて、selinux_YYYYMMDD.wbm を選択し、「ファイルから
           モジュールをインストール」をクリックします。
           
    (3) 環境設定の確認
    
        /etc/webmin/selinux/config ファイルに各種ファイルのパスが記述
        されている。正しい値が設定されているか確認する。
        
        
        - converter_path : converter のインストール先ディレクトリ
        - m4             : m4コマンドのフルパス
        - passwd_path    : パスワードファイルのパス
        - selinux_bin    : selinux専用コマンドのインストールパス
                           (checkpolicy や setfiles 等)
        - policy_file    : selinux専用コマンド load_policy にて読み込
                           まれるセキュリティポリシーファイルのパス
        - max_row        : 一画面に表示する最大ファイル数
        - shadow_path    : シャドウパスワードファイルのフルパス
        - login_path     : loginコマンドのフルパス
        - sshd_path      : SSHデーモンのフルパス
        
        
        ※普通にインストールした場合はこれらの値を変える必要はありません。

  
   (4) 設定の初期化作業
       (A) Webmin に ログインし、「SELinuxのセキュリティ設定」を選択します。
       
       (B) 設定を反映する->インストール／SELinuxアップグレード時の設定初期化ボタンを押し、
	   設定を初期化します。環境によっては時間がかかることがあります。

       (C) リブートし、再びWebmin に ログイン ->SELinuxのセキュリティ設定->設定を反映する->
	   全設定を反映 を選択します。

       (D) リブートします。

       これで設定の初期化は完了です。


2. ディレクトリ構成

    以下にディレクトリ構成を示します。
    
2.1. converter

    - $installpath/converter
    
        中間設定ファイルコンバータ本体
        
    - $installpath/Makefile
    
        中間設定ファイルに出力されたセキュリティポリシーをコンパイルし、
        SELinux オリジナルのセキュリティポリシー定義ファイルに変換します。
        
    - $installpath/macros
    
        変換の際に利用されるマクロファイルを収めたディレクトリ
        
    - $installpath/policy
    
        セキュリティポリシー定義を収めたディレクトリ
        
    - $installpath/genfs_contexts, initial_sid_contexts, fs_use
    
        変換の際に利用されるファイル
        
    - $installpath/exc_label.tmp
    
        作業用ファイル(消してはいけない)

2.2. SELinux Policy Editor アドインモジュール

    - $webminpath/selinux/*.cgi,*.pl,*.js
    
        CGIプログラムファイル
        
    - $webminpath/selinux/lang
    
        国際化対応用のメッセージ
        
    - $webminpath/selinux/images
    
        アイコン
        
    - $webminpath/selinux/policy
    
        SELinux Policy Editor によって出力、編集される中間設定ファイル
        が収められたディレクトリ。
        
        ファイル global は global 設定、ファイル *.a は各々ドメインの設
        定となっている。middle.conf は、中間設定ファイルのコンパイル結果
        として出力されるファイルです。policy.conf は、middle.conf 内の
        マクロを展開し、SELinux専用コマンド checkpolicy でコンパイル可能
        な設定ファイルです。
        
        ※デフォルトで用意してある中間設定ファイルでは、RedHat7.2の
        ディレクトリ構造をサポートし、telnet が可能で、apache で通常の
        ホームページが見れるような設定となっています。また、webmin で、
        セキュリティ設定がもできるようになっています。
        
    - $webminpath/selinux/template
    
        新規にドメインを作成する際に利用するテンプレートが収められた
        ディレクトリ
        
    - /etc/webmin/selinux/config
    
        環境設定ファイル


