
Фон
Серверы RedHat 7 (и 6) с несколькими серверами приложений (общие двоичные файлы).
Мы настраиваем отдельные учетные записи пользователей при добавлении серверов приложений с $HOME = appserver_root. Однако для установки требуется, чтобы целевой каталог не существовал.
Итак, мы:
- Создать пользователя без создания домашнего каталога
- Установка сервера в домашний каталог (и его создание)
- Сброс разрешений домашнего каталога
Этот процесс не настроит файлы скелета, т.е. не скопирует /etc/skel/
Вопрос
Мы можем просто скопировать /etc/skel/.*, но есть ли инструментальный способ — команда — которая это сделает?
Я бы предпочел использовать стандартный инструмент вместо того, чтобы гадать или анализировать /etc/default/useradd для правильного пути SKEL.
решение1
Вы можете попробовать изменить свою процедуру примерно следующим образом:
- Создайте пользователя обычным способом, разрешив создание домашнего каталога и заполнение его файлами скелета «стандартным» способом.
- Переименуйте домашний каталог во что-нибудь другое,
username.skeleton
например - Установить сервер в домашний каталог (создав новый домашний каталог)
- Сброс разрешений домашнего каталога
- Аккуратно объедините в домашнем каталоге файлы конфигурации из
username.skeleton
каталога (могут возникнуть конфликты, если установка сервера создаст свои собственные файлы конфигурации) или просто скопируйте файлы, уже объединенные в предыдущих идентичных установках, если таковые имеются.
Я использую аналогичную процедуру для своего домашнего каталога при установке новой версии ОС, поскольку мои существующие файлы конфигурации из старой версии ОС могут негативно повлиять на новые версии приложений, а в новых скелетных файлах отсутствуют мои настройки — их необходимо объединить.