ユーザーを追加してホームディレクトリを作成するためにスクリプトレットを実行するRPMがあります。これまでCentOS 7でこれを使用したことがありましたが、Rocky Linux 8で実行するにはこのRPMが必要なため、RPMを再構築しましたが(noarchですが他の変更が必要です)、Rocky 8にRPMをインストールするときにこの問題が発生しました。ユーザーの追加に関する問題 CentOS 7 では見たことのない内容です。
useradd: cannot create directory /opt/system-installer
スクリプトはいくつかのチェックを行い、必要に応じてグループを追加しますが、実際には次のコマンドを実行します。
useradd --system --gid usergroup --home-dir /opt/app-user --shell /sbin/nologin app-user --create-home --comment "App Management User"
端末でコマンドを実行しても問題はありませんが、RPMをインストールするたびにユーザーのホームディレクトリが作成されず、ユーザーの問題が発生します。実行する前にディレクトリを作成するためにスクリプトレットを変更しようとしましたが、ディレクトリがすでに存在するuseradd
ため、.bash *ファイルもコピーされません。
私もadduser
代わりに試してみましたが、同じ問題が発生してホームディレクトリを作成できませんでした。
おそらく、RPMスクリプトレットの一部としてコマンドを実行することは、コマンドラインまたはbashスクリプトを介して実行するのとは異なる場合があります(私も試してみましたが、問題はありませんでした)root
。
私が持っているアイデアの1つは、コマンドを実行してファイルをコピーする一時的なアクションでしたが、/etc/skel
それは私にとってあまり正しいものではありません。