A razão pela qual isso é permitido hoje é simplesmente porque o sistema não o impede.
Se isso mudasse, então quebraria os sistemas em que os administradores tivessem um uso para esse recurso (veja o exemplo de Terdon). Então, isso nunca foi mudado, e eu acho que nunca será.
Originalmente, havia apenas os arquivos passwd e group, e eles serviam ao seu propósito. não havia nenhum comando adduser , nenhum addgroup , os arquivos foram editados pelo root usando vi ou ed.
Houve algumas peculiaridades!
Para lembrar o próximo ID de usuário, era comum que os administradores tivessem um usuário especial como a última linha que tinha um nome de usuário de !
(porque !
era um nome de usuário inválido) e essa entrada foi usada para armazenar o próximo ID do usuário. Crude, eu admito, mas funcionou! Então, por que quebrar um intestino, tornando-o mais complicado, semelhante ao desenvolvimento ágil de hoje.
Houve falhas conhecidas. O principal é que tinha que ser legível em todo o mundo, para que utilitários como ls
pudessem mapear user-id => name
. Isso significa que qualquer um pode 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
, muitas vezes estes foram ignorados, porque eles eram inconsistentes entre os Unixes, então a maioria das pessoas apenas continuou com a edição manual.
Demorou alguns anos, antes que o arquivo de senha shadow
fosse inventado, isso fornecia um pouco mais de segurança, ocultando as senhas criptografadas. Mais uma vez, apenas complexidade suficiente foi adicionada, mas ainda era bastante grosseira e simples. Os utilitários useradd
e groupadd
foram introduzidos, o que manteve shadow
e shadow-
atualizados. Para começar, estes eram frequentemente invólucros simples de script de shell em torno de utilitários adduser / addgroup proprietários de vendedores. Mais uma vez, foi apenas o suficiente para continuar.
Redes de computadores estavam crescendo, pessoas trabalhando em vários de uma vez para realizar trabalhos, então o admin dos arquivos passwd/group
estava se tornando um pesadelo, especialmente com o NFS, então vem as Páginas Amarelas também 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 quisesse um sistema de autenticação centralizado, seguro, exclusivo, com 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. Nós ainda não precisávamos de todos os sinos e assobios. Eu acho que a filosofia tinha mudado um pouco até agora, "Se você fosse fazer melhor, você não iria usá-lo" , então não se preocupe com isso.
É por isso que não acho que o simples arquivo passwd irá mudar. Não há mais nenhum motivo, e é ótimo para aqueles Raspberry Pi de 30 libras com 2 talvez 3 de temperatura de monitoramento do usuário e feeds do Twitter. OK, você só precisa ser um pouco cuidadoso com seu ID de usuário, se você quiser algo único, e não há nada que impeça o entusiasta de colocar useradd em um script que primeiro seleciona o próximo ID único de um banco de dados (arquivo) para definir um id único, se é isso que você quer. É open source depois de tudo.