
背景
複数のアプリケーション サーバー (共有バイナリ) を備えた RedHat 7 (および 6) サーバー。
$HOME = appserver_root を使用してアプリケーション サーバーを追加するときに、個別のユーザー アカウントを設定します。ただし、インストールではターゲット ディレクトリが存在しないことが要求されます。
そこで私たちは:
- ホームディレクトリを作成せずにユーザーを作成する
- ホームディレクトリにサーバーをインストール(作成)する
- ホームディレクトリの権限をリセットする
このプロセスではスケルトンファイルは設定されません。つまり、/etc/skel/をコピーします。
質問
/etc/skel/.* をコピーするだけで済みますが、これを行うツール (コマンド) はありますか?
推測したり、/etc/default/useradd を解析して正しい SKEL パスを探すのではなく、標準ツールを使用することをお勧めします。
答え1
手順を次のように調整してみてください。
- 通常どおりにユーザーを作成し、ホームディレクトリを作成して「標準」の方法でスケルトンファイルを配置できるようにします。
- ホームディレクトリの名前を別の名前に変更します。
username.skeleton
たとえば、 - サーバーをホームディレクトリにインストールする(新しいホームディレクトリを作成する)
- ホームディレクトリの権限をリセットする
- ディレクトリから構成ファイルをホームディレクトリに慎重にマージします
username.skeleton
(サーバーのインストールで独自の構成ファイルを作成すると競合が発生する可能性があります)。または、以前の同一のインストールで既にマージされているファイルがある場合は、それをコピーします。
新しい OS バージョンをインストールするときに、自分のホームディレクトリに同様の手順を使用しています。これは、古い OS バージョンの既存の構成ファイルが新しいアプリ バージョンに悪影響を及ぼす可能性があり、新しいスケルトン ファイルにはカスタマイズが欠落しているため、それらをマージする必要があるためです。