Force ID пользователя, созданного apt-get

Контекст:

Я автоматически устанавливаю postgresql-9.1 на сервере Ubuntu с apt-get, Это создает необходимый postgres пользователь.

Данные Postgres находятся на внешнем томе, который переживает переустановки. Эти данные, очевидно, принадлежат postgres пользователь.

У меня проблема в том, что право собственности не записано под именем postgresно под UID то postgres имел во время создания. Когда сервер переустановлен, postgres иногда получает другой UID и больше не владеет каталогом данных, и, следовательно, не работает.


Вопрос:

Могу ли я заставить UID пользователя postgres создано apt-get к чему-то исправленному? Или есть другой способ решить мою проблему?


(Как вы, возможно, поняли, это на Amazon EC2 с данными на томе EBS)

3 ответа

Решение

Две идеи:

  1. Создайте свой postgres Пользователь перед установкой PostgreSQL, используя правильный UID.
  2. Создайте свой собственный пакет postgresql-9.1, который устанавливает стандартный пакет postgresql-9.1, а затем выполняет chown,
usermod -u {desired_UID} {username}

Украл это отсюда: блог Леты

Но я на самом деле думаю, что чоун будет лучше, чем этот, так как он не может потерпеть неудачу из-за desired_UID уже используются или нагружены конфликтом другими способами.

Я мог бы добавить chown каталога данных к сценарию установки сервера, но я бы предпочел более элегантное решение. Кроме того, потому что есть другие сервисы, такие как Tomcat, которые имеют ту же проблему.

Другие вопросы по тегам