Tenho uma restrição: posso usar apenas um usuário em um SUSE Linux Enterprise Server 11.
Agora, preciso instalar o PostgreSQL. É possível evitar de alguma forma a criação automática do usuário Linux "postgres" pelo assistente de instalação do PostgreSQL e usar o usuário atual como administrador do banco de dados?
Explicação adicional sobre as restrições estranhas:
Temos que hospedar nosso software no servidor da empresa de TI, subsidiária do grande banco. Eles possuem regras bastante rígidas, devido ao armazenamento e processamento de dados confidenciais do usuário. Então, uma das regras é que só podemos ter um usuário lá e tudo deve ser instalado sob esse usuário (com direitos sudo). Inicialmente, o servidor possui apenas o software mais básico (e o PostgreSQL não está incluído nele).
Docker não é uma alternativa neste caso.
Responder1
Acho que seus requisitos parecem ter sido interpretados por alguém bastante incompetente.
Eu argumentaria queum usuário é uma pessoae paracada pessoaque precisará ter acesso de administrador ao servidor de banco de dados que você precisauma conta de usuário pessoal, comocontas compartilhadas são más; você precisa ser capaz de responsabilizar cada pessoa por suas ações.
Os serviços não pertencem a uma única pessoa, mas são executados a partir deconta de serviçoe contas de serviço, como a conta postgres, não são IMHO iguais às contas de usuário. Para começar, contas para pessoas fazem parte do processo de segurança que revoga o acesso de usuários que saíram e inativos...
Você não quer deletar o banco de dados da folha de pagamento quando Alice do RH que o instalou sair da empresa, certo?
Quando você não quiser usar oestoque de pacotes RPM da SuSepara postgres (que também criará a conta de serviço postgres), por favorcrie seu próprioe fornecê-los ao departamento de TI, em vez de fazer uma instalação manual.
Dessa forma, suas contas de usuário administrador de banco de dados não precisarão de permissões excessivas para executar um instalador, você não precisará de um grande espaço ocupado com compiladores e ferramentas de construção instaladas em servidores (de produção), você terá uma lista clara de dependências e o pacote pode crie a conta de serviço necessária (ou use uma existente) e configure todas as permissões de uma forma que seja muito mais fácil derepetir e auditardo que executar scripts de instalação.
Crie um perfil adequado sudo
para as pessoas que gerenciarão o servidor de banco de dados Posgres e permita que os administradores executem o subconjunto limitado de comandos que um administrador do Postgres precisaria para executar como usuário do postgres, ou seja psql
, service postgres [stop|start|restart]
,pg*
Mas para responder à sua pergunta real:
Como evitar a criação automática do usuário Linux "postgres" pelo assistente de instalação do PostgreSQL?
Não execute o assistente, masconstruir a partir da fonte, use as opções corretas para selecionar um diretório de instalação acessível ao usuário que executa a compilação e nenhuma outra conta de usuário ou privilégios elevados serão necessários.
./configure --prefix=/path/to/dir [--other-options]
make
make install
Responder2
De acordo comversão resumida do manual de instalação, você terá que criar manualmente um usuário ao instalar a partir das fontes e, em seguida,supara a conta do usuário e inicie o PostgreSQL. Basta pular essas etapas e você executará o servidor como sua própria conta de usuário local.
Se você instalar o pacote fornecido pelo SUSE, poderá excluir manualmente a conta de usuário que ele criou e alterar os arquivos de configuração que iniciam o daemon no momento da inicialização para não usar essa conta de usuário, mas a sua. Infelizmente não tenho o SUSE Linux em execução, então não posso fornecer detalhes sobre isso.