A razão pela qual isso é permitido hoje é simplesmente porque o sistema não o impede.
Se isso mudasse, os sistemas onde os administradores tinham uso para esse recurso seriam interrompidos (veja o exemplo de Terdon). Portanto, nunca foi alterado, e acho que nunca.
Originalmente, havia apenas os arquivos passwd e group, e eles serviram a seu propósito. não havia nenhum comando adduser , nenhum addgroup , os arquivos foram editados pela raiz usando vi ou ed.
Houve algumas peculiaridades!
Para lembrar o próximo ID de usuário a ser usado, era comum os administradores terem um usuário especial como a última linha que tinha um nome de usuário !
(porque !
era um nome de usuário inválido) e essa entrada foi usada para armazenar o próximo ID do usuário. Bruto, admito, mas funcionou! Então, por que quebrar o intestino, tornando-o mais complicado, semelhante ao desenvolvimento ágil hoje?
Havia falhas conhecidas. O ser principal, que tinha que ser legível pelo mundo, para que utilitários como ls
pudessem mapear user-id => name
. Isso significava que qualquer um podia ver a senha criptografada de todos e todos os usuários e IDs no sistema.
Alguns sistemas Unix começaram a introduzir alguns scripts de shell adduser
addgroup
, geralmente esses foram ignorados, porque eram inconsistentes entre os Unixes; portanto, a maioria das pessoas continuou a edição manual.
Demorou alguns anos, antes que o shadow
arquivo de senha fosse inventado, isso fornecia um pouco mais de segurança, ocultando as senhas criptografadas. Mais uma vez, foi acrescentada complexidade suficiente, mas ainda assim era bastante grosseira e simples. Os utilitários useradd
e groupadd
foram introduzidos, que foram mantidos shadow
e shadow-
atualizados. Para começar, esses eram geralmente simples invólucros de scripts de shell em torno dos utilitários proprietários adduser / addgroup dos fornecedores . Mais uma vez, foi apenas o suficiente para continuar.
As redes de computadores estavam crescendo, as pessoas trabalhavam em várias de uma vez para realizar tarefas, de modo que a administração dos passwd/group
arquivos estava se tornando um pesadelo, especialmente com o NFS; assim, as Páginas Amarelas também são conhecidas como NIS para aliviar o fardo.
Estava se tornando óbvio agora que algo um pouco mais flexível era necessário e o PAM foi inventado. Portanto, se você fosse realmente sofisticado e desejasse um sistema de autenticação centralizado, seguro e com identificação única, todos os sinos e assobios, você chamaria um servidor central para autenticar, talvez um servidor Radius, servidor LDAP ou Active Directory.
O mundo cresceu. Mas os arquivos passwd / group / shadow ainda permaneciam para nós, usuários / desenvolvedores / laboratórios menores. Ainda não exigimos realmente todos os sinos e assobios. Eu acho que a filosofia havia mudado um pouco até agora, "Se você iria melhorar, você não usaria nada" , então não se preocupe.
É por isso que acho que o arquivo passwd simples nunca será alterado. Não há mais razão, e é ótimo para aqueles Raspberry Pi de £ 30 com 2 talvez 3 temperaturas de monitoramento de usuários e feeds do twitter. OK, você só precisa ter um pouco de cuidado com seus IDs de usuário, se quiser que sejam exclusivos, e não há nada para impedir que o entusiasta agrupe useradd em um script que primeiro selecione o próximo ID exclusivo de um banco de dados (arquivo) para definir um ID único, se é isso que você deseja. É de código aberto, afinal.