Eu entendo * o usuário administrador principal é dado um ID de usuário 501
e os usuários subseqüentes obter números incrementais ( 502
, 503
...). Mas porque 501
? O que há de especial 50x
, qual o motivo histórico / técnico para essa escolha?
* Comecei a investigar isso quando fiquei curioso para saber por que meu disco rígido externo tinha todos os seus arquivos lixeira dentro .Trashes/501
. Minha pesquisa me levou à conclusão de que 501
é o ID do usuário principal do administrador nos sistemas * nix (eu estou no macOS), mas não o porquê .
osx
users
history
unix-philosophy
user137369
fonte
fonte
Respostas:
Muitos sistemas Unix começam a distribuir UIDs para usuários em um número específico. O Solaris fornecerá ao UID 100 o primeiro usuário de propósito geral, no OpenBSD é 1000 e, no macOS, parece que o UID 501 será o UID do primeiro usuário interativo criado, o que também é provavelmente um usuário administrador do macOS (que não é o mesmo como usuário root).
As contas com números mais baixos são contas de usuário do sistema para daemons etc. Isso facilita a distinção entre contas "humanas" interativas e contas de serviços do sistema. Isso também pode facilitar o gerenciamento de usuários, autenticação etc. em vários softwares. O YP / NIS , um sistema um pouco desatualizado para manter contas de usuário (e outras informações) em um servidor central sem precisar criar usuários locais em várias máquinas clientes, por exemplo, possui uma configuração
MINUID
eMAXUID
para o intervalo de contas de usuário que ele deve manipular.Em alguns Unices, várias contas de serviço do sistema podem ser alocadas para software de terceiros, como UIDs 50 a 999 no FreeBSD ou 500 a 999 no OpenBSD.
Todas essas faixas são escolhidas pelos fabricantes e mantenedores de cada unidade, de acordo com as necessidades esperadas de seu sistema operacional. O padrão POSIX não diz nada sobre essas coisas. O UID alocável mais baixo e mais alto (e GID) geralmente é configurável por um administrador local (consulte o
adduser
manual).A maioria dos Unices reserva o UID 0 para
root
o superusuário e atribui o UID mais alto possível (ou pelo menos algum valor alto) ao usuárionobody
(o Solaris usa o UID 60001, o OpenBSD usa 32768, mas os UIDs podem ser muito maiores que isso).(Veja os comentários sobre o UID 0 sempre sendo
root
(ou não), o que é uma pequena digressão deste tópico)Atualização: O projeto OpenBSD recentemente rejeitou a ideia de randomizar a alocação de UID / GID.
fonte
Para distribuições que seguem o LSB , eles alocam UIDs e GIDs 0-99 estaticamente. Os UIDs 100-499 são alocados dinamicamente, mas também são para o sistema e não para contas de logon.
Por exemplo, daemons de impressão como
cups
tendem a receber sua própria conta de usuário. Portanto, se uma vulnerabilidade no daemon for explorada, o daemon não estará executando comoroot
com todo o poder sobre o sistema. (Nem tem necessariamente o poder de interferir com outros daemons).Nas distribuições Linux mais recentes, o alcance do sistema é estendido até 999.
Isso deixaria UIDs 500 para cima (ou 1000 para cima) para contas de logon.
O Debian também possui uma alocação estática para
UIDGID 100, embora eu não possa imaginar esse desvio causando algum problema específico.É fácil imaginar outro sistema com um desvio de um por um, que também reserva UID 500. (Presumo que isso ainda seja compatível; não consigo imaginar todos os Linux que violam o LSB por tanto tempo, sem sendo atualizado).
A primeira conta de login não precisa ser uma conta de administrador nem a conta de administrador principal. Os sistemas não usam necessariamente
sudo
(principalmente se forem pré-datados :). Você pode dizer que a "conta de administrador principal" estároot
nesse caso. Fora isso, as distribuições * nix e Linux de uso geral não reconhecem uma "conta de administrador principal" específica.fonte
On more recent Linux distributions, the system range is extended up to 999.
- Eu sempre tive identificação de usuários a partir de 1000 e comecei a usar o Linux em 2005. Eu não chamaria de "recente".