Quais são os perigos de criar um usuário normal com UID <500? Supondo que os UIDs não sejam duplicados dos existentes, o que poderia dar errado?
Isso não é algo que eu quero fazer, mas algo que eu já vi e quero saber por que isso não deve ser feito. Neste exemplo, está no RHEL5.
Respostas:
Não acredito que exista um risco inerente, isso é feito simplesmente para criar uma separação entre o que é considerado contas de sistema e contas de usuário. A prática de usar números abaixo de 500, pela minha experiência, é um redhatismo, e realmente nada além disso.
No Solaris, eu vi usuários recebendo números atribuídos a partir de 100 também, apenas anos depois descobrem que, quando a fusão de sistemas de dois departamentos menores causa um tipo de pesadelo, já que havia vários usuários nos 2 departamentos que tinham o mesmo UID / GID's atribuídos.
Este é realmente o principal risco / dor de cabeça ao atribuir os UIDs. Como o UID é o que está finalmente escrito no inode para os arquivos / diretórios de um usuário, não é necessário que você tenha que executar maciços
find
arquivos que pertencem ao UID 1234 e precisar alterá-los para 5678 .Portanto, pensando um pouco na seleção de UIDs, os administradores podem evitar dores de cabeça no caminho.
O uso de 500 e acima é apenas uma tentativa do Redhat (e outros Unixes) de fornecer buffer suficiente para que quaisquer contas do sistema que precisem ser criadas não sejam misturadas com UIDs atribuídos aos usuários.
/etc/login.defs
Aliás, o número 500 é direcionado por essa configuração no arquivo de configuração
/etc/login.defs
,.Você pode alterar isso para o que quiser, se desejar substituir o comportamento padrão por
useradd
/adduser
comandos.Página de manual Useradd
Se você der uma olhada na
useradd
página de manual, notará esta parte que discute o valor padrão do GID, mas esse comentário também é aplicável aos UIDs também:excerto
Contas do sistema
Outras coisas a serem observadas na
useradd
página de manual é esse pouco sobre a geração de contas do sistema.excerto
É esse método (
useradd -r ...
) que geralmente é usado pelos scripts que são incorporados aos vários gerenciadores de pacotes, como o RPM, quando um pacote está sendo instalado. O script dessa maneira permite que o sistema selecione automaticamente o próximo UID / GID disponível em um determinado sistema, sem o risco de pisar nos UIDs / GIDs já atribuídos aos usuários do sistema.fonte
Da perspectiva do kernel, existe apenas um usuário especial: UID 0. A divisão de intervalos de UIDs por razões administrativas simplifica sua vida. Os intervalos comuns são fornecedor, sistema, local e global.
Os usuários do fornecedor são instalados durante a instalação inicial do sistema e são gerenciados de forma estática pelo fornecedor. os usuários do sistema são instalados por máquina, dependendo de quais pacotes estão instalados. a maioria dos utilitários de adição / exclusão de usuários tem um limite de intervalo para lidar com eles separadamente. usuários locais são usuários regulares e atribuídos por máquina. usuários globais são atribuídos por um banco de dados central, mas são usuários regulares. o uso de intervalos de UID evita conflitos entre esses grupos diferentes. onde esses pontos de corte estão podem variar, mas geralmente é configurável.
fonte
Não há perigos inerentes ao fazer isso. Se você criar um usuário com o UID 499, eles não terão privs extras. A razão pela qual é sugerido não é simplesmente porque os UIDs geralmente são reservados para usuários do sistema. O problema que se pode encontrar ao criar esse UID é quando algum serviço do sistema espera que o UID esteja disponível. É como criar um novo serviço que é executado em uma porta conhecida - não há nenhum problema com isso necessariamente, mas não é uma boa prática e pode causar problemas mais adiante quando você estiver configurando sshd, ftpd, etc.
Dito isto, vi muitos sistemas em que os usuários foram criados com UID <500 sem problemas. No entanto, à medida que a base de usuários cresce e agora existem milhares de usuários, pode ser difícil diferenciar entre contas de usuário e contas do sistema. Seguindo a regra de nenhum UID <500, é muito fácil. Portanto, é uma ótima maneira de organizar contas também.
fonte
Não há perigo real. O kernel não se importa com valores de ID de usuário, exceto 0. A maioria das ferramentas de administração também não se importa - muito poucas partes do sistema fazem a diferença entre usuários do sistema e usuários humanos.
Os usuários do sistema tendem a ter grupos dedicados, portanto, é provável que não crie contas pertencentes a mais grupos do que deveriam.
Algumas distribuições reservam o intervalo 1–499 (Red Hat e parentes) ou 1–999 (Debian e parentes) para usuários do sistema, incluindo usuários alocados ao instalar um pacote que contém um serviço do sistema que requer um usuário dedicado. A convenção da Debian é que o intervalo de 1 a 99 é alocado estaticamente (portanto, criar um usuário humano nesse intervalo é uma péssima idéia, pois pode colidir com um usuário do sistema) enquanto o intervalo de 100 a 1999 é alocado dinamicamente (criando um usuário humano nesse intervalo é inofensivo, pois qualquer novo usuário do sistema escolhe um ID de usuário gratuito).
Você pode ter pequenos inconvenientes, como gerentes de exibição que não oferecem usuários com UIDs abaixo do limite em sua lista.
O principal perigo para uma máquina isolada é que você provavelmente confundirá seus colegas administradores de sistema. Para uma máquina em uma rede na qual IDs de usuário são compartilhados, você pode entrar em conflito com outras máquinas em que esses usuários tenham o mesmo ID de usuário de sistema. Em redes com IDs de usuário compartilhados, é melhor manter o intervalo de 1000 a 655533 ou até 10000 a 655533 para usuários humanos.
fonte