У меня есть ограничение: я могу использовать только одного пользователя на SUSE Linux Enterprise Server 11.
Теперь мне нужно установить PostgreSQL. Возможно ли как-то избежать автоматического создания пользователя linux "postgres" мастером установки PostgreSQL и использовать текущего пользователя в качестве администратора базы данных?
Дополнительное объяснение странных ограничений:
Мы должны разместить наше программное обеспечение на сервере IT-компании, которая является дочерней компанией крупного банка. У них довольно строгие правила из-за хранения и обработки конфиденциальных пользовательских данных. Так вот, одно из правил заключается в том, что у нас может быть только один пользователь, и все должно быть установлено под этим пользователем (с правами sudo). Изначально на сервере установлено только самое базовое программное обеспечение (и PostgreSQL туда не входит).
В данном случае Docker не является альтернативой.
решение1
Мне кажется, что Ваши требования интерпретированы кем-то совершенно некомпетентным.
Я бы сказал, чтопользователь — это человеки длякаждый из человеккоторому потребуется иметь доступ администратора к нужному вам серверу базы данныхперсональная учетная запись пользователя, какобщие аккаунты - это зло; вам необходимо иметь возможность призвать отдельных людей к ответственности за их действия.
Услуги не принадлежат одному человеку, а управляютсяучетная запись службыи учетные записи служб, такие как учетная запись postgres, IMHO не то же самое, что учетные записи пользователей. Для начала учетные записи для людей являются частью процесса безопасности, который отменяет доступ для увольняющихся и неактивных пользователей...
Вы же не хотите удалять базу данных заработной платы, когда Элис из отдела кадров, которая ее установила, увольняется из компании, верно?
Когда вы не хотите использоватьстандартные RPM-пакеты от SuSeдля postgres (который также создаст учетную запись службы postgres) пожалуйстасоздай свой собственныйи предоставить их ИТ-отделу вместо того, чтобы выполнять ручную установку.
Таким образом, вашим учетным записям администраторов баз данных не потребуются избыточные разрешения для запуска установщика, вам не понадобится большой объем памяти с компиляторами и инструментами сборки, установленными на (производственных) серверах, у вас будет четкий список зависимостей, а пакет сможет создать необходимую учетную запись службы (или использовать существующую) и настроить все разрешения таким образом, чтобы это было намного проще.повторить и проверитьчем запуск скриптов установщика.
Создайте подходящий sudo
профиль для людей, которые будут управлять сервером базы данных Posgres и позволят администраторам выполнять ограниченный набор команд, которые администратору Postgres необходимо будет выполнять как пользователю postgres, т. е. psql
, service postgres [stop|start|restart]
,pg*
Но отвечая на ваш вопрос:
Как избежать автоматического создания пользователя Linux «postgres» мастером установки PostgreSQL?
Не запускайте мастера, носборка из исходного кода, используйте правильные параметры для выбора каталога установки, доступного пользователю, запускающему сборку, и никакие другие учетные записи пользователей или повышенные привилегии не требуются.
./configure --prefix=/path/to/dir [--other-options]
make
make install
решение2
Согласнократкая версия руководства по установке, вам придется вручную создать пользователя при установке из исходников, затемвсв учетную запись пользователя и запустите PostgreSQL. Просто пропустите эти шаги, и вы запустите сервер как свою собственную локальную учетную запись пользователя.
Если вы устанавливаете пакет, предоставленный SUSE, вы можете вручную удалить учетную запись пользователя, которую он создал, и изменить файлы конфигурации, которые запускают демон во время загрузки, чтобы использовать не эту учетную запись пользователя, а вашу. К сожалению, у меня не запущен SUSE Linux, поэтому я не могу предоставить вам подробности.