procedimento recomendado para criar um usuário / grupo durante a instalação do RPM

5

depois de tentar pesquisar guias de práticas recomendadas de RPM e encontrar praticamente nenhum, para minha surpresa, recorro à comunidade -

Eu preciso garantir que alguns usuários e grupos existam após a instalação e que os usuários sejam membros dos grupos. Existe procedimento (s) recomendado (s) para isso?

Na especificação de rpm existente, vejo que os usuários e grupos necessários são removidos no início do script% pre antes de adicioná-los com useradd . Disseram-me que esta é uma prática comum. Por que é isso? É melhor testar a existência do usuário com id -u ?

Alguns dos nossos clientes podem querer gerenciar os próprios usuários, então eles criariam os usuários antes de executar o nosso rpm. Então, para resumir todos os itens acima, parece que a melhor abordagem é testar a existência do usuário e criá-lo se não existir. Algum comentário sobre isso? Obrigado.

EDITAR : RHEL 5.7

    
por davka 23.12.2012 / 11:40

2 respostas

2

O Projeto Fedora tem uma lista das melhores práticas .

Basicamente, a ideia é que, se um pacote exigir um grupo específico, o gerenciamento de usuário / grupo deve ser tratado pelo script de instalação do rpm usando useradd ou groupadd e deve usar getent para determinar se o usuário ou grupo precisa já existe. Isso permite aos administradores a flexibilidade de gerenciar usuários / grupos do sistema, por exemplo, através de serviços de diretório como LDAP, que poderiam ser gerenciados por um pacote. As distribuições, por outro lado, devem pré-alocar UIDs e GIDs para usuários e grupos que serão criados por pacotes para garantir que, se um usuário / grupo for instalado por um pacote e não gerenciado por um administrador local, os UIDs e Os GIDs são consistentes em todos os sistemas que estão executando a mesma plataforma.

    
por 10.08.2015 / 22:52
1

Eu percebo que esta é uma pergunta antiga, mas eu vim aqui tentando encontrar como criar grupos em um arquivo de especificação de rpm. Espero que o seguinte seja útil.

Para verificar se existe um grupo e ver quais usuários fazem parte dele, use

getent group root

para o grupo "root" por exemplo.

Eu também achei o seguinte útil como uma maneira padrão de adicionar grupos em um arquivo de especificação de rpm: Criando um usuário e grupo dentro de um rpm

in the %pre section [of the rpm spec file] make sure you create the users/groups you need in the right way (see "rpm -q --scripts ..." for examples on how RHEL packages do that, you may or may not want to use "system users" (uid < 500), etc.).

Eu olhei para rtkit para um exemplo

rpm -q --scripts rtkit-0.11-10.fc21.x86_64

preinstall scriptlet (using /bin/sh):
getent group rtkit >/dev/null 2>&1 || groupadd -r -g 172 rtkit
    
por 10.08.2015 / 21:46