Eu acho que suas exigências parecem ser interpretadas por alguém bastante incompetente.
Eu diria que um usuário é uma pessoa e cada pessoa que precisa ter acesso de administrador ao servidor de banco de dados que você precisa um usuário pessoal conta , pois contas compartilhadas são más ; você precisa ser capaz de responsabilizar pessoas individuais por suas ações.
Os serviços não pertencem a uma única pessoa, mas são executados na conta de serviço e nas contas de serviço, como a conta postgres, não são as mesmas contas de usuário. Para começar, as contas de pessoas fazem parte do processo de segurança que revoga o acesso para pessoas que abandonaram e inativos ...
Você não deseja excluir o banco de dados de folha de pagamento quando Alice do RH que o instalou deixa a empresa, certo?
Quando você não quiser usar os pacotes RPM de ações do SuSe para postgres (que também criará a conta de serviço postgres), crie seus próprios e forneça esses para o departamento de TI, em vez de fazer uma instalação manual.
Dessa forma, as contas de usuário do administrador do banco de dados não precisarão de permissões excessivas para executar um instalador, você não precisará de uma grande pegada com compiladores e ferramentas de construção instaladas em servidores (de produção), terá uma lista clara de dependências e o pacote pode criar a conta de serviço necessária (ou usar uma existente) e configurar todas as permissões de uma forma muito mais fácil de repetir e auditar do que executar scripts do instalador.
Crie um perfil sudo
adequado para as pessoas que gerenciarão o servidor de banco de dados Posgres e permitirão que os administradores executem o subconjunto limitado de comandos que um administrador do Postgres precisaria executar como usuário postgres, ou seja, psql
, service postgres [stop|start|restart]
, pg*
Mas para responder à sua pergunta real:
How avoid the automatic creation of "postgres" linux user by PostgreSQL's installation wizard?
Não execute o assistente, mas construa a partir da origem , use o método correto opções para selecionar um diretório de instalação acessível ao usuário que está executando a compilação e nenhuma outra conta de usuário ou privilégios elevados são necessários.
./configure --prefix=/path/to/dir [--other-options]
make
make install