bin
não foi adequado para nada durante toda a vida útil do Linux.
Como os níveis de execução e a init
geração getty
por causa dos registros /etc/inittab
, a bin
conta era obsoleta no mundo Unix antes do Linux ser inventado. Foi uma ideia dos anos 80 que foi quebrada pela invenção e adoção do NFS (Network File System) e de seu nobody
usuário. Sua presença contínua nos bancos de dados de contas de usuários no final de 2010, quando as pessoas no mundo comercial do Unix descontinuaram ativamente seu uso nos anos 90, é uma prova de inércia.
A idéia era que o bin
usuário possuísse vários diretórios como /bin
e /usr/bin
(e de fato alguns dos outros mencionados em /unix//a/448799/5132 como /usr/mbin
e /usr/5bin
) e o UID não definido / não- arquivos set-GID dentro deles. Também possuía arquivos e diretórios doco, como páginas de manual.
(Em casos mais extremos em alguns Unices, ele ainda possuía /
e /etc
, embora o último tenha sido um erro reconhecido na criação de uma imagem do sistema operacional SunOS. O primeiro foi apenas um desentendimento.)
Portanto, a permissão para aprovar atualizações de software, executando como usuário bin
, não era uma permissão geral, executando como superusuário, para executar qualquer ação que fosse contra o sistema. O atualizador de software não pôde ler / gravar arquivos de usuários particulares, acessar caixas de correio e assim por diante; qual atualização de softwares como o superusuário, é claro.
Várias outras entradas de conta especiais no seu /etc/passwd
arquivo devem ter senhas. Estas são as contas administrativas - bin
, daemon
, sys
, uucp
, lp
, e adm
. […] O principal motivo da existência dessas contas é a propriedade segura de comandos, scripts, arquivos e dispositivos. E alguns administradores instalam senhas para essas contas e realmente as usam. […] Uma bin
conta sem senha é extremamente útil para um disjuntor do sistema.
- Rebecca Thomas e Rik Farrow (1989). Guia de Administração do UNIX para o System V . Prentice Hall. ISBN 9780139428890. p. 452
O NFS foi inventado no início dos anos 80 e quebrou completamente essa ideia.
Já estava em terreno instável, como alude a citação citada. Isso ocorreu porque a capacidade de atualizar os arquivos de imagem do programa para utilitários básicos que o superusuário executou normalmente, como /bin/ls
por exemplo, é um vetor direto para obter privilégios de superusuário e a divisão de acesso no uso de uma bin
conta apenas evitou acidentalmente modificar os diretórios errados em vez de impedir que um malfeitor obtenha acesso ao superusuário.
O advento do NFS destacou isso. Embora o NFS tenha um mecanismo para remapear a conta de superusuário para uma conta de usuário comum que não seja do sistema, ele não possui o mesmo para contas não raiz, como bin
. Portanto, se alguém pudesse obter bin
acesso a um cliente NFS, ele teria bin
acesso aos arquivos do sistema operacional em um servidor NFS. De fato, ele permitiu que um superusuário em um cliente NFS, que seria remapeado para um usuário comum que não seja do sistema no servidor, para obter acesso do proprietário aos arquivos e diretórios do sistema operacional do servidor.
Isso era de conhecimento geral no início dos anos 90, e, na época, a sabedoria recebida era o chown
que pertencia bin
a pertencer ao superusuário, para corrigir esse buraco que já havia se tornado um item de relatório padrão nas ferramentas de auditoria de segurança Unix e foi advertido contra como o documento de instalação do Sendmail.
No que diz respeito às perguntas de M. Hess, essa idéia nunca foi adotada no Debian, que só surgiu anos depois que era conhecida como uma má idéia no mundo Unix, que na verdade sabia que era uma má idéia antes do próprio Linux foi inventado. Os sistemas operacionais BSD cuja história faz volta estiramento na década de 1980 há muito que acabou com a propriedade real, mas ainda assim mantêm a conta de usuário no banco de dados conta. O FreeBSD converteu bin
: bin
posse para root
: wheel
propriedade em 1998 , por exemplo.
Leitura adicional