※当サイトの記事には、広告・プロモーションが含まれます。

Oracle Preinstallation RPMで追加されるユーザーoracleにパスワードが設定されていない罠

www.itmedia.co.jp

⇧ amazing...

Oracle Preinstallation RPMとは?

Oracleの公式のドキュメントによりますと、

docs.oracle.com

ご使用のLinuxディストリビューションOracle LinuxまたはRed Hat Enterprise Linuxで、Oracle Linuxサポートを使用している場合は、使用しているリリース用のOracle Preinstallation RPMで、インストール前のほとんどの構成タスクを完了できます。

https://docs.oracle.com/cd/E96517_01/ladbi/about-the-oracle-preinstallation-rpm.html

Oracle Preinstallation RPMは、Oracle Linux NetworkまたはOracle Linux DVDから入手できます。Oracle Preinstallation RPMの使用は必須ではありませんが、クラスタ・サーバーの設定の時間を節約するため、使用をお薦めします。

https://docs.oracle.com/cd/E96517_01/ladbi/about-the-oracle-preinstallation-rpm.html

インストールされると、Oracle Preinstallation RPMでは次の操作が実行されます。

  • Oracle Grid InfrastructureおよびOracle Databaseのインストールに必要な追加のRPMパッケージが自動的にダウンロードおよびインストールされ、依存性が解決されます。

  • oracleユーザーが作成され、そのユーザーのoraInventory(oinstall)およびOSDBA(dba)グループが作成されます。

  • 必要に応じて、sysctl.confの設定、システム起動パラメータおよびドライバ・パラメータの値が、Oracle Preinstallation RPMプログラムの推奨値に基づいて設定されます。

  • ハードリソース制限およびソフトリソース制限を設定します。

  • カーネル・バージョンに応じて、他の推奨パラメータを設定します。

  • Linux x86_64マシンのカーネルnuma=offを設定します。

https://docs.oracle.com/cd/E96517_01/ladbi/about-the-oracle-preinstallation-rpm.html

⇧ ということらしい。

Oracle Preinstallation RPMで追加されるユーザーoracleにパスワードが設定されていない罠

で、

docs.oracle.com

Note:

  • The Oracle Database Preinstallation RPM automatically creates the Oracle installation owner and groups. It also sets up other kernel configuration settings as required for Oracle Database installations. If you plan to use job-role separation, then create the extended set of database users and groups depending on your requirements.

https://docs.oracle.com/en/database/oracle/oracle-database/23//xeinl/installing-oracle-database-free.html#GUID-46EA860A-AAC4-453F-8EEE-42CC55A4FAD5

⇧「Oracle Database 23c(Free-Developer Release)」を、「WSL 2(Windows SubSystem for Linux 2)」の「Oracle Linux 8.7」にインストールしてるんですが、「oracle」っていうユーザーにパスワード設定した覚えがないんけど、デフォルトパスワードとかあるんかと思いきや、

forums.oracle.com

dba.stackexchange.com

⇧ 自分でパスワードを設定してくださいってことらしい...

勝手にユーザー追加してくれんのは結構なことなんですが、公式のドキュメントでも一言パスワード設定してください、的な言葉があっても良いとは思いませんか?

安定の不親切、流石はOracleさん、完全なるサイコパスと化してますな...

Oracle Preinstallation RPMの実行結果のログを確認してみました。

sudo vi /var/log/oracle-database-preinstall-23c/results/orakernel.log    
Adding group oinstall with gid 54321
Adding group dba with gid 54322
Adding group oper with gid 54323
Adding group backupdba with gid 54324
Adding group dgdba with gid 54325
Adding group kmdba with gid 54326
Adding group racdba with gid 54330
Adding user oracle with user id 54321, initial login group oinstall, supplementary groups oinstall,dba,oper,backupdba,dgdba,kmdba,racdba and  home directory /home/oracle
Changing ownership of /home/oracle to oracle:oinstall
Please set password for user - oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
User creation passed

Saving a copy of the initial sysctl.conf
Verifying  kernel parameters as per Oracle recommendations...
Trying to remove instances of  - setting for fs.file-max is
Adding fs.file-max = 6815744
Trying to remove instances of  - setting for kernel.sem is
Adding kernel.sem = 250 32000 100 128
Trying to remove instances of  - setting for kernel.shmmni is
Adding kernel.shmmni = 4096
Trying to remove instances of  - setting for kernel.shmall is
Adding kernel.shmall = 1073741824
Trying to remove instances of  - setting for kernel.shmmax is
Adding kernel.shmmax = 4398046511104
Trying to remove instances of  - setting for kernel.panic_on_oops is
Adding kernel.panic_on_oops = 1
Trying to remove instances of  - setting for net.core.rmem_default is
Adding net.core.rmem_default = 262144
Trying to remove instances of  - setting for net.core.rmem_max is
Adding net.core.rmem_max = 4194304
Trying to remove instances of  - setting for net.core.wmem_default is
Adding net.core.wmem_default = 262144
Trying to remove instances of  - setting for net.core.wmem_max is
Adding net.core.wmem_max = 1048576
Trying to remove instances of  - setting for net.ipv4.conf.all.rp_filter is
Adding net.ipv4.conf.all.rp_filter = 2
Trying to remove instances of  - setting for net.ipv4.conf.default.rp_filter is
Adding net.ipv4.conf.default.rp_filter = 2
Trying to remove instances of  - setting for fs.aio-max-nr is
Adding fs.aio-max-nr = 1048576
Trying to remove instances of  - setting for net.ipv4.ip_local_port_range is
Adding net.ipv4.ip_local_port_range = 9000 65500
Setting kernel parameters as per oracle recommendations...
Altered file /etc/sysctl.conf
Saved a copy of the current file in /etc/sysctl.d/99-oracle-database-preinstall-23c-sysctl.conf
Check /etc/sysctl.d for backups
Verification & setting of kernel parameters passed

Setting user limits using /etc/security/limits.d/oracle-database-preinstall-23c.conf

Verifying oracle user OS limits as per Oracle recommendations...
Adding oracle soft nofile  1024
Adding oracle hard nofile  65536
Adding oracle soft nproc  16384
Adding oracle hard nproc  16384
Adding oracle soft stack  10240
Adding oracle hard stack  32768
Adding oracle hard memlock  134217728
Adding oracle soft memlock  134217728
Adding oracle soft data  unlimited
Adding oracle hard data  unlimited
Setting oracle user OS limits as per Oracle recommendations...
Altered file /etc/security/limits.d/oracle-database-preinstall-23c.conf
Original file backed up at /var/log/oracle-database-preinstall-23c/backup/Jun-05-2023-18-11-12
Verification & setting of user limits passed

/boot/grub/grub.conf not present.. ..
Verification of boot parameters failed.

Trying to add NOZEROCONF parameter...
Taking a backup of existing file to /etc/sysconfig/network.orabackup
Successfully added parameter NOZEROCONF to /etc/sysconfig/network
Setting /etc/sysconfig/network parameters passed

Disabling Transparent Hugepages.
Refer Oracle Note:1557478.1

Disabling defrag.
Refer Oracle Note:1557478.1

Taking a backup of old config files under /var/log/oracle-database-preinstall-23c/backup/Jun-05-2023-18-11-12
Trying to add NOZEROCONF parameter...
Parameter added by previous preinstall rpm
Parameter already present
/boot/grub/grub.conf not present.. ..
Boot file modifications failed
Trying to add NOZEROCONF parameter...
Parameter added by previous preinstall rpm
Parameter already present
/boot/grub/grub.conf not present.. ..
Boot file modifications failed
Trying to add NOZEROCONF parameter...
Parameter added by previous preinstall rpm
Parameter already present
/boot/grub/grub.conf not present.. ..
Boot file modifications failed
Trying to add NOZEROCONF parameter...
Parameter added by previous preinstall rpm
Parameter already present
/boot/grub/grub.conf not present.. ..
Boot file modifications failed

⇧ とあって、確かにユーザーは追加されておりますと。

docs.oracle.com

⇧ 上記サイト様の情報を元に、以下のコマンドを実施。

for u in `cat /etc/passwd | cut -d: -f1 | sort`; do passwd -S $u; done    

adm LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
bin LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
daemon LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
dbus LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
ftp LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
games LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
halt LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
lp LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
mail LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
nobody LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
operator LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
oracle LK 2023-06-05 0 99999 7 -1 (Password locked.)
root LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
rpc LK 2023-06-05 0 99999 7 -1 (Password locked.)
rpcuser LK 2023-06-05 -1 -1 -1 -1 (Password locked.)
shutdown LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
sshd LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
sync LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
systemd-coredump LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
systemd-resolve LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
ts0818 PS 2023-06-05 0 99999 7 -1 (Password set, SHA512 crypt.)
tss LK 2023-03-22 -1 -1 -1 -1 (Password locked.)    

⇧ となって、ユーザーoracleおりました。

とりあえず、パスワードを設定しておきました。

adm LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
bin LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
daemon LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
dbus LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
ftp LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
games LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
halt LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
lp LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
mail LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
nobody LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
operator LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
oracle PS 2023-06-07 0 99999 7 -1 (Password set, SHA512 crypt.)
root LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
rpc LK 2023-06-05 0 99999 7 -1 (Password locked.)
rpcuser LK 2023-06-05 -1 -1 -1 -1 (Password locked.)
shutdown LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
sshd LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
sync LK 2022-10-02 0 99999 7 -1 (Alternate authentication scheme in use.)
systemd-coredump LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
systemd-resolve LK 2023-03-22 -1 -1 -1 -1 (Password locked.)
ts0818 PS 2023-06-05 0 99999 7 -1 (Password set, SHA512 crypt.)
tss LK 2023-03-22 -1 -1 -1 -1 (Password locked.)

というわけで、今日もまたOracle Databaseを使う気が失われていくのであった...

ついでに、

qiita.com

⇧ 上記サイト様を参考に、wheelグループなるものに追加。

⇧ 解決と思いきや、今度は、sudo: source: command not found なる別のエラーが出た...

次回に持ち越しで...

毎度モヤモヤ感が半端ない...

今回はこのへんで。