6.2.5 Linux・HP-UX・AIXを管理対象にするための設定
(1) ログインshellの設定
JP1/ITRM接続用アカウントとして,一定期間経過しても,情報収集やタスク実行の操作時にログインできるアカウントを用意してください。
なお,このホストを仮想イメージテンプレートにする場合は,仮想イメージテンプレートの作成からデプロイするまでの期間が経過することになります。
JP1/ITRM接続用アカウントのログインshellを次のとおり設定します。
- Linuxの場合
- bashまたはtcshに変更します。
- HP-UXの場合
- /sbin/shに変更します。
- AIXの場合
- /usr/bin/kshに変更します。
ログインshellがすでにこのとおりに設定されている場合は,この手順は不要です。
ログインshellを変更する方法の例を次に示します。
- Linuxの場合
- 既存のアカウントを使用する場合
usermod -sコマンドを実行してログインshellを/bin/bashまたは/bin/tcshに変更してください。
- 新規アカウントを作成する場合
useraddコマンドの実行時に,ログインshellを-sオプションで/bin/bashまたは/bin/tcshに指定してください。
- HP-UXの場合
- 既存のアカウントを使用する場合
usermod -sコマンドを実行してログインshellを/sbin/shに変更してください。
- 新規アカウントを作成する場合
useraddコマンドの実行時に,ログインshellを-sオプションで/sbin/shに指定してください。
- AIXの場合
- 既存のアカウントを使用する場合
usermod -sコマンドを実行してログインshellを/usr/bin/kshに変更してください。
- 新規アカウントを作成する場合
useraddコマンドの実行時に,ログインshellを-sオプションで/usr/bin/kshに指定してください。
(2) 自動起動スクリプトファイルの設定
通常,ログイン時に自動起動スクリプトが実行され,エイリアスや環境変数が自動で設定されます。自動起動スクリプトはアカウントごとに設定できます。
アカウントごとの自動起動スクリプトがない場合,システム標準の自動起動スクリプトが実行されます。システム標準の自動起動スクリプトでエイリアスなどが設定されると動作に支障をきたすため,JP1/ITRM接続用アカウントに空の自動起動スクリプトを設定する必要があります。
自動起動スクリプトファイルには,ログインShellが起動したときにだけ起動するログイン用と,そのあとShellからほかのShellを起動したときにも起動するShell起動用の自動起動スクリプトと,設定が有効なOSの場合はログアウト時にOSによって自動起動されるスクリプトがあります。
また,bashとtcshではファイル名が異なります。
システム標準とアカウント個別,ログイン用とShell起動用とログアウト用の組み合わせに応じたファイル名を次の表に示します。
表6-5 自動起動スクリプトのファイル名(Linuxの場合)
自動起動スクリプトの種類 | 自動起動スクリプトのファイル名 |
---|
bash | tcsh |
---|
標準 | ログイン用 | /etc/profile /etc/bash.bash_login | /etc/csh.login |
Shell起動用 | - | /etc/csh.cshrc |
ログアウト用 | /etc/bash.bash_logout | - |
個別 | ログイン用 | ~/.bash_profile | ~/.login |
Shell起動用 | ~/.bashrc | ~/.cshrc |
- (凡例)
- -:該当しない。
表6-6 初期化スクリプトのファイル名(HP-UXの場合)
初期化スクリプトの種類 | 初期化スクリプトのファイル名 |
---|
/sbin/sh |
---|
標準 | ログイン用 | /etc/profile |
Shell起動用 | - |
個別 | ログイン用 | ~/.profile |
Shell起動用 | - |
- (凡例)
- -:該当しない。
表6-7 初期化スクリプトのファイル名(AIXの場合)
初期化スクリプトの種類 | 初期化スクリプトのファイル名 |
---|
/usr/bin/ksh |
---|
標準 | ログイン用 | /etc/profile |
Shell起動用 | - |
個別 | ログイン用 | ~/.profile |
Shell起動用 | - |
- (凡例)
- -:該当しない。
(3) IP接続許可の設定
IP接続を許可するかどうかは,/etc/hosts.allowファイルおよび/etc/hosts.denyファイルで設定します。
デフォルトでは,すべてのIPアドレスからの接続が許可されています。/etc/hosts.denyファイルでの設定内容に応じて,/etc/hosts.allowファイルでの設定内容が変わります。必要に応じて,/etc/hosts.allowファイルを編集してください。
- /etc/hosts.denyファイルによって,SSHプロトコルが拒否されている場合
- 状況に応じて,次のとおり/etc/hosts.allowファイルを編集してください。
- /etc/hosts.allowファイルに,すでにSSHプロトコルの定義がある場合
- 次のとおり内容を編集してください。
- in.sshd:他IPアドレス,ITRMサーバのIPアドレス
- /etc/hosts.allowファイルに,SSHプロトコルの定義がない場合
- 次のとおり内容を追加してください。
- in.sshd:ITRMサーバのIPアドレス
- /etc/hosts.denyファイルによって,SSHプロトコルが拒否されていない場合
- 状況に応じて,次のとおり/etc/hosts.allowファイルを編集してください。
- /etc/hosts.allowファイルに,すでにSSHプロトコルの定義がある場合
- 次のとおり内容を編集してください。
- in.sshd:他IPアドレス,ITRMサーバのIPアドレス
- /etc/hosts.allowファイルに,SSHプロトコルの定義がない場合
- SSHプロトコルに対して,すべてのIPアドレスが許可されているため,ファイルの編集は不要です。
(4) SSH接続をするためのソフトウェアのインストール(AIXの場合)
AIXの場合,OSを新規インストールした環境では,SSH接続をするためのソフトウェアがインストールされていません。そのため,OSに付属する媒体内に収録されているソフトウェア(OpenSSH)をインストールする必要があります。
OpenSSHをインストールする手順を次に示します。
- OpenSSHの前提であるOpenSSLのインストールに必要なファイルを準備する。
インストールに必要なファイルを次に示します。
- openssl.base
- openssl.license
- openssl.man.en_US
- root権限で次のコマンドを実行してOpenSSLをインストールする。
# smit install_latest
格納したファイルの絶対パスやライセンスに関する同意など,必要事項を入力して,インストールを実行します。
- OpenSSHのインストールに必要なファイルを準備する。
インストールに必要なファイルを次に示します。
- openssh.base
- openssh.man.en_US
- openssh.msg.EN_US
- openssh.msg.JA_JP
- root権限で次のコマンドを実行して,OpenSSHをインストールする。
# smit install_latest
格納したファイルの絶対パスやライセンスに関する同意など,必要事項を入力して,インストールを実行します。
(5) SSHの設定
管理対象のホストでSSHデーモンが自動起動する設定にしてください。また,ITRMからSSH接続するための追加の設定手順を次に示します。この手順はroot権限で実行してください。
- ほかのユーザーがSSH接続を使用していないことを確認する。
- viなどのテキストエディタで,設定ファイルを編集する。
設定ファイルは次のファイルを使用します。
- Linuxの場合
- /etc/ssh/sshd_config
- HP-UXの場合
- /opt/ssh/etc/sshd_config
- AIXの場合
- /etc/ssh/sshd_config
設定内容を次の表に示します。
表6-8 SSHの設定内容
設定項目 | 設定値 | 設定内容 |
---|
PermitRootLogin | Yes | rootユーザーで認証する場合は,Yesを設定しroot接続を許可します。一般ユーザーで認証する場合は,設定は不要です。デフォルトはYesです。 |
PasswordAuthentication | Yes | パスワード認証を許可するよう設定します。 デフォルトはYesです。 |
Protocol | "2,1"または"2"※ | 使用するSSHバージョンを設定します。デフォルトはバージョン2を許可する設定です。 |
RequiredAuthentications2 | password | オプションが有効なOSの場合,使用する認証方法を設定します。 デフォルトは"password"です。 |
- 注※
- "2,1"は,バージョン1および2のどちらかを使用する場合に設定します。また,"2"はバージョン2だけを使用する場合に設定します。JP1/ITRMでは,バージョン2を使用するので,2を含めた値を設定してください。
- 次のコマンドを実行してSSHデーモンを再起動する。
- Linuxの場合
/etc/rc.d/init.d/sshd restart
- HP-UXの場合
/sbin/init.d/secsh stop
/sbin/init.d/secsh start
- AIXの場合
/usr/bin/stopsrc -g ssh
/usr/bin/startsrc -g ssh
(6) 必要なコマンドの登録
(a) Linuxの場合
sudoで,root権限で実行が必要なコマンドを登録する手順の例について説明します。この手順はroot権限で実行してください。
なお,次のアカウントだけでSSH接続を使用する場合,この設定は不要です。
- rootユーザー
- rootパスワードを使った一般ユーザー
- visudoコマンドを起動する。
- sudoの設定に次の内容を追加する。
JP1/ITRM接続用アカウント ホスト名 =NOPASSWD: /usr/sbin/dmidecode
JP1/ITRM接続用アカウント ホスト名 =NOPASSWD: /usr/sbin/smartctl
JP1/ITRM接続用アカウント ホスト名 =NOPASSWD: /sbin/multipath
JP1/ITRM接続用アカウント ホスト名 =NOPASSWD: /sbin/shutdown |
また,/opt/DynamicLinkManager/bin/dlnkmgrコマンド,または/sbin/dlmcfgmgrコマンドがサーバ上にある場合は,さらに次の内容を追加します。
JP1/ITRM接続用アカウント ホスト名 =NOPASSWD: /opt/DynamicLinkManager/bin/dlnkmgr
JP1/ITRM接続用アカウント ホスト名 =NOPASSWD: /sbin/dlmcfgmgr |
このLinuxを仮想イメージテンプレートにする場合は,デプロイするときに指定するホスト名について,JP1/ITRMが接続時に使用するアカウントの組み合わせで,sudoの設定に追加してください。
デプロイ時に使用するホスト名を特定できない場合は,ホスト名に「ALL」を指定すると,全ホストを対象にすることが可能です。
- 設定内容を保存する。
記述に誤りがあると保存できません。その場合は,再度編集して保存し直してください。
(b) HP-UXの場合
RBACで必要なコマンドを登録する手順について説明します。この手順はroot権限で実行してください。
なお,次のアカウントだけでSSH接続を使用する場合,この設定は不要です。
- rootユーザー
- rootパスワードを使った一般ユーザー
- 次のコマンドを実行して,JP1/ITRM接続用アカウントにAdministratorロールを登録する。
# roleadm assign JP1/ITRM接続用アカウント Administrator
# cat /etc/rbac/user_role
root: Administrator
JP1/ITRM接続用アカウント: Administrator |
コマンド実行後,JP1/ITRM接続用アカウントにAdministratorロールが登録されたことを確認してください。
- 次のコマンドを実行して,Administratorロールが実行できる操作を確認する。
# authadm list
Administrator: (hpux.*, *) |
「(hpux.*, *)」が表示されることを確認してください。
- 次のコマンドを実行して,JP1/ITRM接続用アカウントが実行できるコマンドをRBACデータベースに追加する。
# cmdprivadm add cmd="/usr/sbin/diskinfo" ruid=0 euid=0 op=hpux.device.read
# cmdprivadm add cmd="/opt/fcms/bin/fcmsutil" ruid=0 euid=0 op=hpux.device.read
# cmdprivadm add cmd="/usr/sbin/shutdown" ruid=0 euid=0 op=hpux.admin.reboot |
コマンドに指定する「ruid(実ユーザーID)」および「euid(実行ユーザーID)」には,スーパーユーザー(root)のIDである0を指定してください。
- /usr/sbin/nwmgrコマンドが管理対象のホストにある場合は,さらに次の内容を追加する。
# cmdprivadm add cmd="/usr/sbin/nwmgr" ruid=0 euid=0 op=hpux.network.config |
/usr/sbin/nwmgrコマンドがサーバ上にない場合,次に示すエラーが表示されます。この場合,手順4の設定は不要なので,次の手順に進んでください。
# cmdprivadm add cmd="/usr/sbin/nwmgr" ruid=0 euid=0 op=hpux.network.config
cmdprivadm: warning: /usr/sbin/nwmgr is not a valid command.
Please double check to make sure this is a intended command to add into the database file.
/usr/sbin/nwmgr::(hpux.network.config,*):0/0/-1/-1::::
cmdprivadm added the entry to /etc/rbac/cmd_priv |
- /etc/rbac/cmd_privファイルの末尾に,次の内容が追加されていることを確認する。
/usr/sbin/diskinfo:dflt:(hpux.device.read,*):0/0//:dflt:dflt:dflt:
/opt/fcms/bin/fcmsutil:dflt:(hpux.device.read,*):0/0//:dflt:dflt:dflt:
/sbin/shutdown:dflt:(hpux.admin.reboot,*):0/0//:dflt:dflt:dflt:
/usr/sbin/nwmgr:dflt:(hpux.network.config,*):0/0//:dflt:dflt:dflt: |
(c) AIXの場合
RBACで必要なコマンドを登録する手順について説明します。この手順はroot権限で実行してください。
なお,次のアカウントだけでSSH接続を使用する場合,この設定は不要です。
- rootユーザー
- rootパスワードを使った一般ユーザー
- 必要なコマンドを特権コマンドデータベースに登録する。
JP1/ITRMで必要なAIXの特権コマンドを次の表に示します。
表6-9 JP1/ITRMで必要なAIXの特権コマンド
特権コマンド | 必要な権限 |
---|
/usr/sbin/smtctl | aix.system.config.dlpar |
/usr/sbin/sar | aix.system.stat |
/usr/sbin/shutdown | aix.system.boot.shutdown |
/usr/sbin/acct/fwtmp※ | aix.system.config.acct |
/usr/bin/df※ | aix.fs.manage |
- 注※
- /usr/sbin/acct/fwtmpおよび/usr/bin/dfコマンドは,特権コマンドデータベースにデフォルトで定義がないため,次の手順で定義を追加してください。
- 1. 次のコマンドを実行する。
- # smit setsecattr_cmdadd
- 2. Command Name,Access Authorizations,Innate Privileges,Security Flagsに次の表に示す値を設定する。
表6-10 /usr/sbin/acct/fwtmpコマンドの設定
項目名 | 設定する値 |
---|
Command Name | /usr/sbin/acct/fwtmp |
Access Authorizations | aix.system.config.acct |
Innate Privileges | PV_DAC_R PV_DAC_X PV_KER_WPAR |
Security Flags | FSF_EPS |
表6-11 /usr/bin/dfコマンドの設定
項目名 | 設定する値 |
---|
Command Name | /usr/bin/df |
Access Authorizations | aix.fs.manage |
Innate Privileges | PV_DAC_R PV_DAC_X PV_KER_WPAR |
Security Flags | FSF_EPS |
ロケールが異なる場合,項目名の表示が異なることがあります。
- ITRM用のロールを追加する。
次のコマンドを実行して,ITRMで必要な特権コマンドの実行権限を持つITRM用のロールを追加します。
# smit mkrole
Role NAME,AUTHORIZATIONSに次の表で示す値を設定してください。
表6-12 ITRM用のロールの設定
項目名 | 設定する値 |
---|
Role NAME | 任意のロール名 |
AUTHORIZATIONS | aix.system.config.dlpar aix.system.stat aix.system.boot.shutdown aix.system.config.acct aix.fs.manage |
ロケールが異なる場合,項目名の表示が異なることがあります。
- ITRM接続用アカウントにロールを設定する。
次のコマンドを実行して,ITRM接続用アカウントに手順2で追加したロールの設定と,ログイン時のデフォルトのロールを設定します。
# chuser roles=ITRM用ロール default_roles=ITRM用ロール JP1/ITRM接続用アカウント
また,次のコマンドを実行して,設定を反映します。
# setkst
(7) kudzuサービスの無効化
管理対象が仮想ホスト上のRed Hat Enterprise Linux 5の場合,次のコマンドを実行して,kudzuサービスを無効にしてください。この手順はroot権限で実行してください。
/sbin/chkconfig --level 345 kudzu off
なお,管理対象とするホストのOSが次の場合,この手順は不要です。
- Red Hat Enterprise Linux 6
- HP-UX
- AIX
(8) ネットワーク設定を特定のNICに固定する指定の無効化
管理対象が仮想ホスト上のLinuxの場合,次の操作を実行して,ネットワーク設定を特定のNICに固定する指定を無効にしてください。この手順はroot権限で実行してください。
- HWADDRの設定を解除するために,ネットワークの設定ファイル(/etc/sysconfig/network-scripts/ifcfg-ネットワークアダプタ名)の内容を確認する。
- 各ネットワークの設定ファイルでHWADDRが有効の場合,設定を解除する。
- 管理対象が仮想ホスト上のRed Hat Enterprise Linux 6の場合,udev機能を無効にするために,次のファイルをほかのディレクトリに退避する。
- /lib/udev/rules.d/75-persistent-net-generator.rules
- /etc/udev/rules.d/70-persistent-net.rules
- 仮想ホストを再起動する。
- ネットワーク設定を変更したNICを使用した通信ができることを確認する。
(9) OSの構成についての注意事項
OSの構成についての注意事項を次に示します。
- OSの標準的な構成を変更しないこと。
- 次に示すシステム標準のコマンドのパスが変更されていないこと。
/sbin, /bin, /usr/sbin, /usr/bin
- ルートパスワードを使った一般ユーザーを認証情報に指定している場合,パスワードを入力しないでsuコマンドの実行を許可する設定はない。
- /proc, /sysがあること。※
- 次に示すLinuxのディストリビューション情報ファイルが削除または変更されていないこと。※
/etc/redhat-release
- JP1/ITRMがOSから収集する情報に含まれる文字列や操作時に指定する文字列は,次の条件を満たしている必要があります。条件を満たさない場合,収集した情報が正しく表示されなかったり,操作が正しく実行されなかったりすることがあります。
- OS上にあるファイルシステムのマウントポイントおよびデバイスファイルの名称は,ASCIIコードの0x20~0x7eの範囲で指定すること。
- ユーザースクリプトは,ASCIIコードの制御文字以外の0x20~0x7eの範囲で指定すること。※
- WPAR上に構築したAIXは,管理対象にできません。
- AIX上でWPARを管理している場合,WPARを非稼働にしてから再収集してください。
- HDLMを使用した環境でAIXを管理する場合は,次のアカウントを使用してください。
- rootユーザー
- rootパスワードを使った一般ユーザー
このアカウントでないと,次の情報が取得できません。
- HDLMデバイスの性能情報と状態情報
- HDLMデバイスでマルチパスを構成しているディスクの情報
- 注※
- Linuxの場合にだけ該当する注意事項です。HP-UXおよびAIXは該当しません。