
Suponha que você criou um daemon (escrito de forma personalizada) e deseja criar um novo uid/gid para este programa.
Existem práticas padrão?
por exemplo
- O uid e o gid devem ser iguais?
- O ID deve começar em 1000?
ou algum?
A razão pela qual pergunto é que atualmente estou usando alocado dinamicamente, mas quando tenho mais de uma máquina, parece uma boa opção usar números fixos?
Atualização: estou usando Ubuntu
Responder1
- UIDs abaixo de 100 são normalmente reservados para contas e serviços do sistema.
- UID entre 100 e 1000 são normalmente reservados para aplicativos como Oracle, Apache, etc.
- Normalmente, as contas de usuário começam em 1000 ou até mais. Dado o número de UIDs disponíveis na maioria dos sistemas Unix (65.535, se não mais do que isso), a probabilidade de ficar sem UIDs é quase inexistente. No sistema de 64 bits, os UID são armazenados em campos de pelo menos 32 bits e isso significa que o valor máximo é muito maior.
Algumas distribuições como o RHEL recomendam definir o grupo privado do usuário (upg), que deve ter o mesmo gid que o uid do usuário.
Existem alguns bons guias aqui:
http://www.softpanorama.org/Access_control/Groups/index.shtml
http://www.softpanorama.org/Access_control/Groups/primary_group.shtml
Responder2
Existem práticas padrão para cada distribuição Linux. Por exemplo, no Debian, o pacote para o seu daemon cuidaria da criação de um usuário e grupo de sistema "alocado dinamicamente". Cada um geralmente receberá um ID entre 100 e 999 (veja omanual de política, seção 9.2.2, como referência).
Claro, pode ser considerado uma boa prática fazer isso mesmo se você não estiver empacotando seu daemon, mas o estiver instalando em uma única máquina; como são alocados dinamicamente, isso não interferirá em outros softwares.