ID da força do usuário criado pelo apt-get

2

Contexto:

Estou instalando automaticamente o postgresql-9.1 em um servidor Ubuntu com apt-get . Isso cria o usuário postgres necessário.

Os dados do Postgres estão em um volume externo que sobrevive a reinstalações. Esses dados são obviamente de propriedade do usuário postgres .

O problema que estou tendo é que a propriedade não é registrada com o nome postgres , mas sob o UID que postgres tinha no momento da criação. Quando o servidor é reinstalado, postgres às vezes recebe um UID diferente e não possui mais o diretório de dados, e, portanto, não funciona .

Pergunta:

Posso forçar o UID do usuário postgres criado por apt-get para algo fixo? Ou existe outra maneira de resolver meu problema?

(Como você deve ter deduzido, isso está no Amazon EC2 com os dados em um volume do EBS)

    
por Bart van Heukelom 19.06.2012 / 16:54

3 respostas

4

Duas ideias:

  1. Crie seu usuário postgres antes de instalar o PostgreSQL, usando o UID correto.
  2. Crie seu próprio pacote postgresql-9.1 personalizado que instala o pacote postgresql-9.1 e, em seguida, faz o chown .
por 19.06.2012 / 17:04
1
usermod -u {desired_UID} {username}

Roube isso aqui: Blog do Lethe

Mas eu realmente acho que um chown seria melhor do que isso, já que não pode falhar porque o desired_UID já está sendo usado ou o conflito está carregado de outras maneiras.

    
por 19.06.2012 / 17:02
0

Eu poderia adicionar um chown do diretório de dados ao script de configuração do servidor, mas preferiria uma solução mais elegante. Também porque existem outros serviços, como o Tomcat, que têm o mesmo problema.

    
por 19.06.2012 / 17:02