bin
non è stato correttamente per nulla per l'intera vita di Linux.
Come i livelli di esecuzione e la init
generazione a getty
causa dei record /etc/inittab
, l' bin
account era obsoleto nel mondo Unix prima ancora che inventasse Linux. Fu un'idea degli anni '80 che fu interrotta dall'invenzione e dall'adozione di NFS (Network File System) e dei suoi nobody
utenti. La sua continua presenza nei database degli account utente alla fine del 2010, quando le persone nel mondo commerciale di Unix hanno interrotto attivamente il suo utilizzo negli anni '90, è una testimonianza dell'inerzia.
L'idea era che l' bin
utente possedesse varie directory come /bin
e /usr/bin
(e in effetti alcune delle altre menzionate su /unix//a/448799/5132 come /usr/mbin
e /usr/5bin
) e il non-UID / non- file set-GID al loro interno. Possedeva anche file e directory doco, come pagine di manuale.
(In alcuni casi estremi su alcuni Unice possedeva persino /
e /etc
, sebbene quest'ultimo fosse un errore riconosciuto nella creazione di un'immagine del sistema operativo SunOS. Il primo era semplicemente sbalordito.)
Pertanto, l'autorizzazione a implementare aggiornamenti software, in esecuzione come utente bin
, non era un'autorizzazione generale, in esecuzione come superutente, per eseguire qualsiasi azione contro il sistema. L'aggiornamento del software non è stato in grado di leggere / scrivere file di utenti privati, accedere alle cassette postali e così via; quale software di aggiornamento come il superutente ovviamente potrebbe.
Diverse altre voci di account speciali nel tuo /etc/passwd
file devono avere password. Questi sono gli account amministrativi - bin
, daemon
, sys
, uucp
, lp
, e adm
. […] Il motivo principale dell'esistenza di questi account è la proprietà sicura di comandi, script, file e dispositivi. E alcuni amministratori installano le password per questi account e le usano effettivamente. […] Un bin
account senza password è estremamente utile per un interruttore di sistema.
- Rebecca Thomas e Rik Farrow (1989). Manuale di amministrazione di UNIX System V per . Prentice Hall. ISBN 9780139428890. p. 452.
NFS è stato inventato nei primi anni '80 e ha completamente rotto questa idea.
Era già su un terreno traballante, come allude la citazione precedente. Questo perché la possibilità di aggiornare i file di immagine del programma per le utilità di base che il superutente ha eseguito come una cosa ovvia, come /bin/ls
ad esempio, è un vettore diretto per ottenere i privilegi di superutente e la divisione dell'accesso nell'uso di un bin
account ha semplicemente prevenuto accidentalmente la modifica di directory errate anziché impedire a un malfattore di ottenere l'accesso da superutente.
L'avvento di NFS ha evidenziato questo. Sebbene NFS avesse un meccanismo per rimappare l'account superutente su un normale account utente non di sistema, non aveva lo stesso per account non root come bin
. Quindi, se qualcuno potesse ottenere l' bin
accesso su un client NFS, avrebbe dato loro l' bin
accesso ai file del sistema operativo su un server NFS. In effetti, ha consentito a un superutente su un client NFS, che sarebbe altrimenti rimappato a un normale utente non di sistema sul server, di ottenere l'accesso del proprietario ai file e alle directory del sistema operativo del server.
Questa era una conoscenza comune agli inizi degli anni '90, e in quel momento ha ricevuto la saggezza di chown
cose che erano di proprietà bin
di essere possedute dal superutente, per colmare questa lacuna che era già diventata un elemento standard di reporting negli strumenti di auditing di sicurezza di Unix ed era stata messa in guardia contro come il documento di installazione per Sendmail.
Per quanto riguarda le domande di M. Hess, questa idea non è mai stata adottata su Debian, che è nata solo anni dopo che era nota per essere una cattiva idea nel mondo Unix, che in effetti sapeva che era una cattiva idea prima di Linux stesso è stato inventato. I sistemi operativi BSD cui storia fa di nuovo tratto nel 1980 hanno da tempo fatto sparire l'effettiva titolarità, ma comunque mantenere l'account utente nel database di account. FreeBSD convertito bin
: bin
proprietà in root
: wheel
proprietà nel 1998 , per esempio.
Ulteriori letture