Oracle Appliance Managerコマンドライン・ユーティリティでは、ほとんどの管理アクションでroot
システム権限を必要とします。システムの監査とセキュリティ・ポリシーの一部として、SUDOを使用できます。
ほとんどのタスクで、root
としてログインし、Oracle Database ApplianceでOracle Appliance Managerコマンドライン・インタフェースを使用することをお薦めします。root
としてログインしていない場合は、アプライアンスでほとんどのアクションを実行できません。たとえば、root
としてログインしていない場合は、ストレージの情報を確認できますが、ストレージを変更できません。
SUDOを使用したrootユーザー・アクセスの許可
システムの管理がデータベースの管理とは別のグループによって行われる環境であったり、セキュリティへの強い懸念がある環境では、root
ユーザーのアカウントやパスワードへのアクセスを制限することがあります。SUDOにより、システム管理者は特定のユーザー(またはユーザー・グループ)にroot
としてコマンドを実行できる権限を与えられます。そして同時に、セキュリティとコンプライアンスの手順として、すべてのコマンドと引数をログに記録できます。
SUDOセキュリティ・ポリシーを構成するには、ファイル/etc/sudoers
を使用します。sudoers
ファイルの中でユーザー・グループやコマンド・セットを構成すると、SUDOコマンドを使用したサーバーの管理を簡素化して監査できます。
注意:
SUDOの構成によって、任意の操作を実行できる権限をユーザーに与えることは、そのユーザーにroot
権限を与えることと同じです。これがセキュリティのニーズに適しているかどうかを慎重に検討してください。
SUDO例1: あるユーザーに対して、任意のOAKCLI操作の実行を許可
次の例では、ユーザーがOAKCLI操作を実行できるようにSUDOを構成する方法を示します。これを行うには、/etc/sudoers
ファイルのコマンドのセクションに数行追加します。
## The commands section may have other options added to it. ## Cmnd_Alias OAKCLI_CMDS=/opt/oracle/oak/bin/oakcli * jdoe ALL = OAKCLI_CMDS
この例では、ユーザー名はjdoe
です。ファイルのパラメータ設定ALL= OAKCLI_CMDS
は、ユーザーjdoe
に対して、コマンド別名エイリアスOAKCLI_CMDS
によって定義されるすべてのoakcli
コマンドを実行する権限を付与します。構成後、1つのsudoers
ファイルを複数のホストにコピーできます。また、ホストごとに異なるルールを作成することもできます。
注意:
データベース作成の前に、各サーバーのrootユーザーにSSHのユーザー等価性を設定する必要があります。ユーザーの等価性を設定せずサーバーごとにSSHを構成すると、データベースの作成中、各サーバーのrootパスワードを指定するよう求めるプロンプトが表示されます。
ユーザーのsudoer
ファイルを構成すると、ユーザーjdoeはコマンド別名OAKCLI_CMDS
で構成されたoakcli
コマンドのセットを実行できます。次に例を示します。
$ sudo oakcli create database -db newdb INFO: 2015-08-05 14:40:55: Look at the logfile '/opt/oracle/oak/log/scaoda1011/tools/12.1.2.4.0/createdb_newdb_91715.log' for more details INFO: 2015-08-05 14:40:59: Database parameter file is not provided. Will be using default parameters for DB creation Please enter the 'SYSASM' password : (During deployment we set the SYSASM password to 'welcome1'): Please re-enter the 'SYSASM' password: INFO: 2015-08-05 14:41:10: Installing a new home: OraDb12102_home3 at /u01/app/oracle/product/12.1.0.2/dbhome_3 Please select one of the following for Database type [1 .. 3]: 1 => OLTP 2 => DSS 3 => In-Memory
SUDO例2: あるユーザーに対して、選択したOAKCLI操作のみの実行を許可
ユーザーが選択されたOAKCLI操作のみを実行できるようにSUDOを構成するには、/etc/sudoers
ファイルのコマンド・セクションに、次のように行を追加します。
[jdoe2@servernode1 ~]$ sudo /opt/oracle/oak/bin/oakcli create database -db test INFO: 2015-09-30 15:49:07: Look at the logfile '/opt/oracle/oak/log/servernode1/tools/12.1.2.4.0/createdb_test_59955.log' for more details INFO: 2015-09-30 15:49:12: Database parameter file is not provided. Will be using default parameters for DB creation Please enter the 'SYSASM' password : (During deployment we set the SYSASM password to 'welcome1'): Please re-enter the 'SYSASM' password: INFO: 2015-09-30 15:49:27: Installing a new home: OraDb12102_home2 at /u01/app/oracle/product/12.1.0.2/dbhome_2 Please select one of the following for Database type [1 .. 3]: 1 => OLTP 2 => DSS 3 => In-Memory
この例では、ユーザーjdoe2
がoakcli show databases
コマンドを実行しようとしていますが、これはこのユーザーに対して構成されているコマンドのセットの一部ではありません。Sudoにより、jdoe2
はそのコマンドを実行できません。
[jdoe2@servernode1 ~]$ sudo /opt/oracle/oak/bin/oakcli show database Sorry, user jdoe2 is not allowed to execute '/opt/oracle/oak/bin/oakcli show database' as root on servernode1.