付録L 実行ユーザの変更

Scheduler Server及びFacilities Managerは,デフォルトではrootで実行しますが,以下の手順を実行すると,実行ユーザの変更ができます。この作業をすると,プログラムファイル及び管理データ,スケジュールデータのファイル及びディレクトリの所有者を変更します。なお,Address Serverと連動している場合は,親サーバの実行ユーザをAddress Serverのシステム管理者と同一にしてください(子サーバでは同一にする必要はありません)。また,Scheduler ServerとFacilities Managerについても同一の実行ユーザにしてください。

  1. rootでログインします。
  2. サーバ及び管理ツールサーバが起動している場合は,サーバ及び管理ツールサーバを停止します。
  3. スケジュールデータ・管理データのバックアップをとります。
  4. 以下の表に示すディレクトリ/ファイルに対して次の操作をしてください。
    (1) chgrpコマンドを用いて,グループを変更したい実行ユーザと同じグループに変更します。
    (2) chownコマンドを用いて,所有者を変更したい実行ユーザに変更します。
    所有者変更ディレクトリ/ファイル一覧
    [図データ]
    • <スケジュール格納ディレクトリ>には,「3.1.2(1) コンフィギュレーションの設定」又は「3.1.3(1) コンフィギュレーションの設定」の「1. スケジュール格納ディレクトリの設定」で設定したスケジュール格納ディレクトリを指定してください。デフォルトは,/usr/ikiです。各ファイルの内容については,「付録A データファイルの説明」を参照してください
    • 手順4.で実施する操作を一度に実行するシェルスクリプトのサンプルを/usr/GroupAppo/bin/usrchgに用意しています。
      スクリプトの変数USERNAMEとGRPNAMEを変更する実行ユーザに合わせて設定した後,以下のように実行してください。

       /usr/GroupAppo/bin/usrchg

    シェルスクリプトを実行すると,必要なディレクトリ/ファイルの所有者をすべて変更できます。なお,各コマンドのパスは,OSに依存しますので必要に応じてスクリプトusrchgを修正してください。
  5. 自動起動の設定をする場合は,/etc/localrcの最後に次の内容を書き加えてください。
    ただし,HP-UX,AIXの場合は/etc/localrcではなく,スタートアップ・スクリプトに追加してください。
    また,既に「3.2.1(2) 自動起動の設定」又は「3.2.2(2) 自動起動の設定」で自動起動の設定をしている場合も以下のように修正してください。ここでは,実行ユーザとして「suzuki」を指定した場合の例を示します。
    Scheduler Serverの自動起動
    [図データ]
    Facilities Managerの自動起動
    [図データ]
  6. 変更したユーザで再ログインしてください。
  7. 直ちにサーバ及び管理ツールサーバを起動したい場合は,手動で実行してください。手動で実行する場合は,以下の手順で実行してください。
    [Scheduler Serverの起動]
    (1) aconsoleを起動します。
     コマンド:/usr/bin/aconsole
    (2) サーバ(SV)を起動します。
     メニュー画面で「2」を入力してください。
     コマンド:/usr/bin/SVが実行されます。
    (3) 管理ツールサーバ(AppoMan)を起動します。
     メニュー画面で「4」を入力してください。
     コマンド:/usr/bin/AppoManが実行されます。
    [Facilities Managerの起動]
    (1) roomconsoleを起動します。
     コマンド: /usr/bin/roomconsole
    (2) サーバ(RMSV)を起動します。
     メニュー画面で2を入力してください。
     コマンド:/usr/bin/RMSVが実行されます。
    (3) 管理ツールサーバ(RoomMan)を起動します。
     メニュー画面で4を入力してください。
     コマンド:/usr/bin/RoomManが実行されます。
注意事項
  • 実行ユーザ名は,必ずUNIX上に定義されているユーザ名を指定してください。
  • Address Serverと連動している場合,実行ユーザ名は,Address Serverのシステム管理者と同じユーザを設定してください。異なるユーザを指定した場合,GetAdAll,indxget及び「コンフィギュレーション」の「ユーザ情報再作成」,「変更通知情報取得」を実行するとエラーとなります。
  • Scheduler ServerとFacilities Managerでは,必ず同一のユーザを指定してください。
  • サーバ・管理ツールサーバを起動する前に,ファイル・モード作成マスクの設定が,所有者に実行・書き込み権限を与える設定になっていることを確認してください。権限が与えられていない場合は,以下に示すumaskコマンドなどで実行ユーザの設定を変更してください。

 umask 022

また,実行時には実行ユーザの環境変数を引き継ぎますので,実行ユーザのumaskの設定には注意してください。
  • 実行ユーザ変更後のSchedule Server,Facilities Managerに関するコマンド実行はすべて変更したユーザで実行してください。rootを含むほかのユーザで実行した場合,その後の更新処理ができないことがあります。
    そのような場合は,再度実行ユーザ変更の手順を実行してください。
  • インストール後にファイルモードの設定を変更している場合は,必ず以下の条件を満たすファイルモードに設定し直すようにしてください。
    ・ ディレクトリ・実行ファイルは,ユーザに読み取り・書き込み・実行権限あり。
    ・ その他のファイルは,ユーザに読み取り・書き込み権限あり。
  • 以下の操作をした場合は,再度実行ユーザ変更の手順を実行してください。
    ・ 再インストールやアップグレードを実行した場合
    ・ バックアップしたデータをリストアした場合
  • マルチサーバ環境を構築している場合は,すべてのサーバで同一の実行ユーザを指定してください。
  • Groupmax統合運転席機能を使用してScheduler Server,Facilities Managerを運用管理する場合には,Scheduler Server,Facilities Managerの実行ユーザはrootにしてください。
  • Groupmax Address - Assistと連携している場合,実行ユーザ名は,Address Serverのシステム管理者と同じユーザを設定してください。異なるユーザを設定した場合,Assist連携機能がエラーとなります。
サンプルスクリプトusrchg
このサンプルスクリプトは,Scheduler Server及びFacilities Managerの実行ユーザを変更するものです。プログラムファイル及び管理データ,スケジュールデータのファイル及びディレクトリの所有者を変更します。
所有者を変更するディレクトリを別のディレクトリに移動し,シンボリックリンクでリンクしている場合,usrchgでは移動先のディレクトリにあるファイルやディレクトリの所有者は変更されません。
移動先のディレクトリにあるファイルやディレクトリは,別途所有者を変更してください。

#!/bin/sh

#Licensed Material of Hitachi,Ltd.
#All Rights Reserved. Copyright(C) 1999,2004,Hitachi,Ltd.

#*********************************************************
#Please set up following variables(USERNAME,GRPNAME) in
#case of need.
#Ex. USERNAME="suzuki", GRPNAME="kaihatu1"
USERNAME="UserName is here"
GRPNAME="GroupName is here"
#*********************************************************

if  /bin/grep "^$USERNAME:" /etc/passwd > /dev/null
then
    :
else
    /bin/echo  "$USERNAME is not a valid Username"
    exit 1
fi

if  /bin/grep "^$GRPNAME:" /etc/group > /dev/null
then
    :
else
    /bin/echo  "$GRPNAME is not a valid Groupname"
    exit 1
fi

BINPATH="/usr/bin"
APPOPATH="/usr/GroupAppo"
GMAXPATH="/groupmax/bin"
ININAME="/usr/bin/AppoMan.ini"
SCHEPATH=`/bin/grep SchedulePath $ININAME | /usr/bin/cut -c14-`

if test -f "$BINPATH/AppoMan"
then
    /bin/chgrp $GRPNAME $BINPATH/AppoMan
    /bin/chown $USERNAME $BINPATH/AppoMan
fi

if test -f "$BINPATH/RoomMan"
then
    /bin/chgrp $GRPNAME $BINPATH/RoomMan
    /bin/chown $USERNAME $BINPATH/RoomMan
fi

if test -f "$BINPATH/SV"
then
    /bin/chgrp $GRPNAME $BINPATH/SV
    /bin/chown $USERNAME $BINPATH/SV
fi

if test -f "$BINPATH/RMSV"
then
    /bin/chgrp $GRPNAME $BINPATH/RMSV
    /bin/chown $USERNAME $BINPATH/RMSV
fi

if test -f "$BINPATH/aconsole"
then
    /bin/chgrp $GRPNAME $BINPATH/aconsole
    /bin/chown $USERNAME $BINPATH/aconsole
fi

if test -f "$BINPATH/roomconsole"
then
    /bin/chgrp $GRPNAME $BINPATH/roomconsole
    /bin/chown $USERNAME $BINPATH/roomconsole
fi

if test -f "$BINPATH/brc.appo"
then
    /bin/chgrp $GRPNAME $BINPATH/brc.appo
    /bin/chown $USERNAME $BINPATH/brc.appo
fi

if test -f "$BINPATH/brc.Appoarea"
then
    /bin/chgrp $GRPNAME $BINPATH/brc.Appoarea
    /bin/chown $USERNAME $BINPATH/brc.Appoarea
fi

if test -f "$BINPATH/AppoMan.ini"
then
    /bin/chgrp $GRPNAME $BINPATH/AppoMan.ini
        /bin/chown $USERNAME $BINPATH/AppoMan.ini
fi

if test -f "$BINPATH/SFstart"
then
    /bin/chgrp $GRPNAME $BINPATH/SFstart
    /bin/chown $USERNAME $BINPATH/SFstart
fi

if test -f "$GMAXPATH/SCHpreBK"
then
    /bin/chgrp $GRPNAME $GMAXPATH/SCHpreBK
    /bin/chown $USERNAME $GMAXPATH/SCHpreBK
fi

if test -f "$GMAXPATH/SCHstpBK"
then
    /bin/chgrp $GRPNAME $GMAXPATH/SCHstpBK
    /bin/chown $USERNAME $GMAXPATH/SCHstpBK
fi

if test -f "$GMAXPATH/SCHstrBK"
then
    /bin/chgrp $GRPNAME $GMAXPATH/SCHstrBK
    /bin/chown $USERNAME $GMAXPATH/SCHstrBK
fi

if test -d $APPOPATH
then
        /bin/find $APPOPATH -print | /usr/bin/xargs /bin/chgrp $GRPNAME
        /bin/find $APPOPATH -print | /usr/bin/xargs /bin/chown $USERNAME
fi

if test -d $SCHEPATH
then
    /bin/find $SCHEPATH -print | /usr/bin/xargs /bin/chgrp $GRPNAME
    /bin/find $SCHEPATH -print | /usr/bin/xargs /bin/chown $USERNAME
fi

exit 0