Назад | Перейти на главную страницу

Переместите $ HOME пользовательских postgres из / var / lib в / home через SaltStack

Я хочу переместить $ HOME пользователей postgres из /var/lib к /home через SaltStack.

Вот шаги, которые выполняются раньше:

  1. postgres RPM устанавливается
  2. $ HOME - это / var / lib
  3. База данных инициализируется

В этом случае императивный способ (указать инструменту выполнить X) будет проще, чем декларативный способ (указать инструменту, что вам нужен результат, который выглядит как X).

По крайней мере, для меня это было бы проще, но я думаю, что в SaltStack есть скрытая функция, о которой я просто не знал до сих пор.

Есть состояние user.present но я предполагаю, что он не перемещает домашний каталог из одного места в другое.

Вы можете настроить состояние, которое проверяет, находится ли домашний каталог пользователя в нужном месте, и, если нет, выполняет некоторые команды, которые перемещают его туда. Что-то вроде:

make sure postgresql home dir is under /new:
  - cmd.run:
    - unless: 'test "$(getent passwd postgresql | cut -d: -f6)" = "/new/postgresql"'
    - name: |
        service postgresql stop
        usermod --home /new/postgresql --move-home postgresql
        service postgresql start