voms連携コマンド gfvoms-sync

<1> 設定マニュアル
  voms連携コマンドではvomsIDが設定されている必要がある。
  vomsIDは<gfarm prefix>/etc/gfarm.vomsidsで設定する。
  vomsidsの中に

  "<vomsID> <host> <ポート番号>"
  
  のフォーマットで一行一ホストでvomsIDを定義する。
  vomsIDはユーザーで任意に決めてよい。利用可能文字はアルファベット、数字、
  "-(ハイフン)"、 "_(アンダーバー)"である。
  hostはIPv4, IPv6, ホスト名で指定できる。
  ポート番号は省略可能。省略時は8443がデフォルトで利用される。

<2> コマンドマニュアル
  (1)gfvoms-sync
    [name]
      gfarmのメンバーシップ情報をvomsのメンバーシップ情報と同期する。
      gfarmのグループから特定のvoms,voのグループを削除する。
      
    [Usage]
      gfvoms-sync (-s|-d) -V <vomsID> -v <vo名> [-g <voms group file>] [-a <vomsID file>] [-h] [-n]
    
          -s,-d                : いずれかを指定。
                                   -sで指定vomsの指定voとの同期
                                   -dで指定vomsの指定voのグループ情報をgfarmから削除
          -V <vomsID>          : vomsIDを指定。vomsIDはvomsidsで定義されたものが参照される。
          -v <vo名>            : vo名を指定。
          -g <voms group file> : 指定されたメンバーシップ情報ファイルを利用して同期する。
                                 -dオプション指定のときは無視される。
          -a <vomsID file>     : vomsID定義ファイルのパスを指定する。
          -h                   : 指定されていた場合はUsageを出力して終了する。
          -n                   : デバッグ用オプション。gfarmへの同期・削除を行わず、
                                 gfarm行われる操作内容を標準出力に表示する。gfvoms-updateを参照。
                                 
    [説明]
      同期
        -sオプションでgfarmのメンバーシップ情報を指定vomsのvoのメンバーシップ情報と同期する。
        -Vオプションで指定されるvomsIDはデフォルトでは<gfarm prefix>/etc/gfarm.vomsidsでの定義を参照する。
        -aオプションで参照するファイルを変更することができる。
        デフォルトではvomsのメンバーシップ情報を取得してから同期するが、
        -gオプションでメンバーシップファイルを指定するとそちらを利用するため、vomsの情報取得は
        行われない。
        
      削除
        -dオプションでgfarmのメンバーシップ情報から指定vomsのvoのグループを削除する。
        -Vオプションで指定されるvomsIDはデフォルトでは<gfarm prefix>/etc/gfarm.vomsidsでの定義を参照する。
        -aオプションで参照するファイルを変更することができる。
        "^<vomsID>:/<vo名>($|/)"でマッチするものが削除対象となる。
        -gオプションは無視される。
    
    [使用上の注意]。
      同期で-gオプションが指定されていない場合は、メンバーシップ情報は"/tmp/vomslist.tmp"に一時保存され、
      gfvoms-updateが成功すると削除される。この場合"/tmp"への書き込み権限があるユーザーで実行すること。
      この同期コマンドによらない通常手続きで登録するグループ名が<vomsID>:/<vo名>に一致すると、
      voms 連携グループ名と看做されて、連携処理時に削除される。
      運用上、こうした名前のグループは作成しないように注意すること。
      (注)
          gfvoms-syncはgfvoms-sync.pyを起動するシェルスクリプト。
          gfvoms-syncで必要な設定をした上でgfvoms-sync.pyを呼び出しているので、
          直接gfvoms-sync.py, gfvoms-listを起動したい場合には必要なファイルが
          インポートできるように設定をする必要がある。




  (2)gfvoms-list
    [name]
      指定のvomsのvoのメンバーシップ情報を取得する。
      
    [Usage]
      gfvoms-list -V <vomsid> -v <vo名> [-f <gfarm member file>] [-m <voms group file>] [-a <vomsID file>] [-h]
      
          -V <vomsid>            : vomsIDを指定。vomsIDはvomsidsで定義されたものが参照される。
          -v <vo名>              : vo名を指定。
          -f <gfarm member file> : メンバーシップ情報の取得対象ユーザーを指定したファイルを指定。
                                   指定がない場合はvomsの全ユーザーが対象となる。
          -m <voms group file>   : メンバーシップ情報ファイルの保存先を指定。
                                   指定がない場合は標準出力に書き出す。
          -a <vomsID file>       : vomsID定義ファイルのパスを指定する。
          -h                     : 指定されていた場合はUsageを出力して終了する。
          
    [説明]
      -Vオプションで指定されたvomsからvoのメンバーシップ情報を取得する。
      -Vオプションで指定されるvomsIDはデフォルトでは<gfarm prefix>/etc/gfarm.vomsidsでの定義を参照する。
      -aオプションで参照するファイルを変更することができる。
      -fオプションでメンバーリストを指定すると取得するメンバーを絞り込むことができる。
      メンバーリストは"user=<dn>"のフォーマットで、一行一ユーザーで指定する。
      取得されたvomsのメンバーシップ情報はデフォルトでは標準出力に表示されるが、
      -mオプションで、ファイルへの出力に変更できる。
    
    [使用上の注意]
      情報取得中に
        vomsでの権限がない操作をしようとした場合
        グループ名+ロール名が255文字を超えた場合
      は、エラーメッセージを表示して、そのまま処理を続ける。
      それ以外のエラーではエラーメッセージを出して終了する。
      (注)
          vomsに接続するとき、"/etc/grid-security/hostcert.pem"、"/etc/grid-security/hostkey.pem"を利用する。
          これらの読み込み権限があるユーザーで実行すること。
          また、利用する秘密鍵にパスフレーズが設定されている場合、複数回パスフレーズを入力する必要がある。
          通常"/etc/grid-security/hostkey.pem"はパスフレーズは設定されていないが、注意すること。



  (3)gfvoms-update
    [name]
      gfarm上の指定のvomsのvoのグループの新規追加・削除・更新を行う。
      gfarm上の指定のvomsのvoのグループの削除を行う。
      
    [Usage]
      gfvoms-update [-d] -V <vomsid> -v <vo名> -m <voms group file> [-h] [-n]
      
          -V <vomsid>          : vomsIDを指定。vomsIDはvomsidsで定義されたものが参照される。
          -v <vo名>            : vo名を指定。
          -d                   : 指定vomsの指定voのグループ情報をgfarmから削除する。
          -m <voms group file> : 使用するvomsメンバーシップ情報ファイルを指定。
                                 -dオプション指定時は無視される。
          -h                   : 指定されていた場合はUsageを出力して終了する。
          -n                   : デバッグ用オプション。gfarmへの同期・削除を行わず、
                                 gfarmに行われる操作内容を標準出力に表示する。
                                 
    [説明]
      同期
        -mオプションで指定されたvomsのメンバーシップファイルを使って
        gfarmの指定vomsのvoのメンバーシップ情報をファイル内容と同期する。
        ファイル内でのヘッダー情報と-V, -vオプションで指定されたvoms, voが違っていた場合は
        同期されない。
        同期は、vomsでのメンバーシップ情報とgfarmのメンバーシップ情報を比べて
          vomsにあってgfarmにないグループは新規追加
          gfarmにあってvomsにないグループは削除
          両者にあって、メンバーが違うグループはvomsの情報に更新
        が行われる。
        -Vオプションで指定されるvomsIDはデフォルトでは<gfarm prefix>/etc/gfarm.vomsidsでの定義を参照する。
        -aオプションで参照するファイルを変更することができる。
        
      削除
        -dオプションでgfarmのメンバーシップ情報から指定vomsのvoのグループを削除する。
        -Vオプションで指定されるvomsIDはデフォルトでは<gfarm prefix>/etc/gfarm.vomsidsでの定義を参照する。
        -aオプションで参照するファイルを変更することができる。
        "^<vomsID>:/<vo名>($|/)"でマッチするものが削除対象となる。
        -gオプションは無視される。
      
    [使用上の注意]
      -nはデバッグ用オプション。新規追加グループ・更新グループ・削除グループと
      それぞれのメンバーが表示されるだけで実際の操作は行われない。
      -dで削除を行う場合、"^<vomsID>:/<vo名>($|/)"でマッチするものが削除対象となる。
      この同期コマンドによらない通常手続きで登録するグループ名が void:/vo名 に一致すると、
      voms 連携グループ名と看做されて、連携処理時に削除される。
      運用上、こうした名前のグループは作成しないように注意すること。
