A cosa serve l'utente del cestino?


27

Come ho scritto su /unix//a/484626/5132 questo è degno delle sue domande e risposte.

Su sistemi operativi Linux ...

% getent passwd bin
bin: x: 2: 2: bin: / bin: / usr / sbin / nologin
%
... e su FreeBSD ...

% getent passwd bin
bin: *: 3: 7: comandi binari e sorgente: /: / usr / sbin / nologin
%
... e su OpenBSD ...

$ getent passwd bin
bin: *: 3: 7: comandi binari e fonte: /: / sbin / nologin
$
... ancora oggi è possibile trovare un binaccount. Ma è praticamente privo di documenti. Il Linux Standard Base versione 5 dice semplicemente ...

Note: L' binID utente / ID gruppo è incluso per la compatibilità con le applicazioni legacy. Le nuove applicazioni non dovrebbero più utilizzare l' binID utente / ID gruppo.
... senza spiegare la natura del meccanismo di compatibilità. Come Joey Hess l'ha rimesso nel 2001 :

bin:

AIUTO : Nessun file sul mio sistema appartiene all'utente o al gruppo bin. A che servono? Storicamente erano probabilmente i proprietari dei binari /bin? Non è menzionato nella FHS, nella politica Debian o nel log delle modifiche di base-passwd o file-base.

La domanda di M. Hess rimane senza risposta nel documento Debian per il suo pacchetto base-passwd fino ad oggi , 17 anni dopo.

A cosa serve l' binaccount?


Una domanda correlata è unix.stackexchange.com/questions/244989 .
JdeBP,

Risposte:


34

bin non è stato correttamente per nulla per l'intera vita di Linux.

Come i livelli di esecuzione e la initgenerazione a gettycausa dei record /etc/inittab, l' binaccount 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 nobodyutenti. 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' binutente possedesse varie directory come /bine /usr/bin(e in effetti alcune delle altre menzionate su /unix//a/448799/5132 come /usr/mbine /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/passwdfile 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 binaccount 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/lsad esempio, è un vettore diretto per ottenere i privilegi di superutente e la divisione dell'accesso nell'uso di un binaccount 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' binaccesso su un client NFS, avrebbe dato loro l' binaccesso 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 chowncose che erano di proprietà bindi 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: binproprietà in root: wheelproprietà nel 1998 , per esempio.

Ulteriori letture


1
Oggi ho visto file di proprietà bindell'utente e del gruppo sui sistemi AIX. È possibile che IBM lo utilizzi per un motivo. Un set di file AIX che viene in mente è java. Dovrò salire sui sistemi AIX al lavoro per verificare ulteriormente.
Peschke,

Esiste ancora un numero considerevole di bin: file di proprietà bin su un sistema AIX oggi. Il Knowledge Center IBM per AIX 7.2 , nella Sicurezza - Protezione del sistema operativo di base - gli utenti, i gruppi e le password sezione ha la pagina collegata che spiega lo scopo dei vari "sistema di contabilità speciale utente", compreso bin.
Jeff Schaller

Dal link precedente, nonbin è uno degli ID utente predefiniti comuni che potresti essere in grado di rimuovere . Inoltre: la password inserita è:binbin:!:2:2::/bin:
Jeff Schaller

-8

Ci sono 2 casi d'uso che uso bin per il 2018. 1: eseguibili - principalmente per i file .exe lato server Web utilizzati per completare le funzioni. E 2: registri - a volte inserisco i miei file .log o .dat nella mia cartella bin.


3
Stai parlando della /bindirectory? O l'utente del cestino?
Sparhawk,

6
Sei anche su qualche tipo di Unix? Stai parlando di .exefile.
user2357112 supporta Monica

5
E perché dovresti mettere file di log o file di configurazione in una directory "bin"?
Corse di leggerezza con Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.