Wofür ist der bin-Benutzer?

27

Wie ich unter https://unix.stackexchange.com/a/484626/5132 schrieb, verdient dies eine eigene Frage und Antwort.

Auf Linux-Betriebssystemen…

% getent passwd bin
bin: x: 2: 2: bin: / bin: / usr / sbin / nologin
%
… Und auf FreeBSD…

% getent passwd bin
bin: *: 3: 7: Binaries Befehle und Source: /: / usr / sbin / nologin
%
… Und auf OpenBSD…

$ getent passwd bin
bin: *: 3: 7: Binaries Befehle und Source: /: / sbin / nologin
$
… Man kann heute noch einen binAccount finden. Aber es ist ziemlich undokumentiert. Die Linux Standard Base Version 5 sagt lediglich ...

Hinweise: Die binBenutzer-ID / Gruppen-ID ist aus Gründen der Kompatibilität mit älteren Anwendungen enthalten. Neue Anwendungen sollten die binBenutzer- / Gruppen-ID nicht mehr verwenden .
… Ohne die Art des Kompatibilitätsmechanismus zu erläutern. Wie Joey Hess es 2001 ausdrückte :

bin:

HILFE : Keine Dateien auf meinem System gehören einem Benutzer oder einer Gruppe bin. Was nützen sie Historisch gesehen waren sie wahrscheinlich die Besitzer von Binaries in /bin? Es wird in der FHS-, Debian-Richtlinie oder im Änderungsprotokoll von base-passwd- oder base-files nicht erwähnt.

Die Frage von M. Hess bleibt im Debian-Dokument für sein Basis-Passwort-Paket bis zum heutigen Tag , 17 Jahre später, unbeantwortet .

Wofür ist der binAccount?

JdeBP
quelle
Eine verwandte Frage ist unix.stackexchange.com/questions/244989 .
JdeBP

Antworten:

34

bin war während der gesamten Lebensdauer von Linux nicht für irgendetwas geeignet.

Wie Run-Levels und das initLaichen gettyaufgrund von Einträgen in /etc/inittabwar das binKonto in der Unix-Welt veraltet, bevor Linux überhaupt erfunden wurde. Es war eine Idee aus den 1980er Jahren, die durch die Erfindung und Einführung von NFS (Network File System) und dessen nobodyBenutzer gebrochen wurde . Die fortgesetzte Präsenz in Benutzerkontodatenbanken Ende der 2010er Jahre, als die Leute in der kommerziellen Unix-Welt in den 1990er Jahren ihre Verwendung aktiv einstellten, ist ein Beweis für die Trägheit.

Die Idee war, dass der binBenutzer verschiedene Verzeichnisse wie /binund /usr/bin(und tatsächlich einige der anderen, die unter https://unix.stackexchange.com/a/448799/5132 erwähnt wurden, wie /usr/mbinund /usr/5bin) und die nicht festgelegte UID / nicht festgelegte Set-GID-Dateien in ihnen. Es besaß auch Doco-Dateien und -Verzeichnisse, z. B. Handbuchseiten.

(In extremeren Fällen besaß es bei einigen Unices sogar /und /etcobwohl letzteres ein anerkannter Fehler bei der Erstellung eines SunOS-Betriebssystem-Images war. Ersteres war nur ein Trottel.)

Die Erlaubnis, als Benutzer ausgeführte Softwareupdates bindurchzuführen, war somit keine generelle Erlaubnis, als Superuser eine Aktion gegen das System auszuführen. Das Software-Upgrade-Programm konnte keine privaten Benutzerdateien lesen / schreiben, auf Postfächer zugreifen und so weiter. welches update softwares als superuser natürlich könnte.

Einige andere spezielle Kontoeinträge in Ihrer /etc/passwdDatei müssen Kennwörter haben. Dies sind die administrativen Konten - bin, daemon, sys, uucp, lp, und adm. […] Der Hauptgrund für die Existenz dieser Konten ist das sichere Eigentum an Befehlen, Skripten, Dateien und Geräten. Einige Administratoren installieren Kennwörter für diese Konten und verwenden sie tatsächlich. […] Ein passwortfreies binKonto ist für einen System-Breaker äußerst nützlich.
- Rebecca Thomas und Rik Farrow (1989). UNIX Administration Guide System V . Prentice Hall. ISBN 9780139428890. p. 452.

NFS wurde in den frühen 1980er Jahren erfunden und hat diese Idee völlig durchbrochen.

Wie das vorgenannte Zitat andeutet, befand es sich bereits auf wackeligem Boden. Dies lag daran, dass die Möglichkeit, die Programm-Image-Dateien für grundlegende Dienstprogramme zu aktualisieren, die der Superuser selbstverständlich ausführt, wie /bin/lszum Beispiel, ein direkter Vektor ist, um Superuser-Berechtigungen zu erlangen, und die Aufteilung des Zugriffs bei der Verwendung eines binKontos lediglich versehentlich verhindert wird Ändern Sie die falschen Verzeichnisse, anstatt zu verhindern, dass ein Angreifer Superuser-Zugriff erhält.

Das Aufkommen von NFS hat dies deutlich gemacht. Obwohl NFS über einen Mechanismus zum erneuten Zuordnen des Superuser-Kontos zu einem normalen Nicht-Systembenutzerkonto verfügte, war dies bei Nicht-Root-Konten nicht der Fall bin. Wenn also jemand binZugriff auf einen NFS-Client erhalten konnte, gab er ihm binZugriff auf die Betriebssystemdateien auf einem NFS-Server. Es ermöglichte einem Superuser auf einem NFS-Client, der andernfalls einem normalen Nicht-Systembenutzer auf dem Server zugeordnet würde, den Besitzerzugriff auf die Betriebssystemdateien und -verzeichnisse des Servers.

Dies war Anfang der neunziger Jahre allgemein bekannt, und zu dieser Zeit wurde davon chownausgegangen, dass es sich um binDinge handelte, die dem Superuser gehörten, um diese Lücke zu schließen, die bereits zu einem Standard-Berichtselement in Unix-Sicherheitsüberwachungs-Tools geworden war und vor der gewarnt wurde in der Art des Installationsdokuments für Sendmail.

Was die Fragen von M. Hess angeht, wurde diese Idee niemals auf Debian übernommen, das erst Jahre nachdem bekannt war, dass es sich um eine schlechte Idee in der Unix-Welt handelte, die es tatsächlich vor Linux selbst für eine schlechte Idee hielt wurde erfunden. Die BSD - Betriebssysteme , deren Geschichte tut Strecke zurück in die 1980er Jahre sind längst mit dem tatsächlichen Besitz abgeschafft, aber dennoch das Benutzerkonto in der Kontendatenbank behalten. FreeBSD hat beispielsweise bin: binowner to root: wheelowner im Jahr 1998 konvertiert .

Weitere Lektüre

JdeBP
quelle
1
Ich habe heute Dateien gesehen, die dem binBenutzer und der Gruppe auf AIX-Systemen gehören. Es ist möglich, dass IBM es aus einem bestimmten Grund verwendet. Eine AIX-Dateigruppe, die mir in den Sinn kommt, ist java. Ich muss mich bei der Arbeit auf die AIX-Systeme verlassen, um weitere Überprüfungen vorzunehmen.
Peschke
Auf einem AIX-System gibt es heute noch eine beträchtliche Anzahl von bin: bin-eigenen Dateien. Das IBM Knowledge Center für AIX 7.2 enthält im Abschnitt Sicherheit - Sichern des Basisbetriebssystems - Benutzer, Gruppen und Kennwörter eine verknüpfte Seite, auf der der Zweck der verschiedenen "Systemspezialbenutzerkonten" erläutert wird bin.
Jeff Schaller
Aus dem vorherigen Link binstammt keine der gängigen Standardbenutzer-IDs, die Sie möglicherweise entfernen können . Außerdem binlautet die Kennworteingabe von:bin:!:2:2::/bin:
Jeff Schaller
-8

Ich verwende bin für 2018 in zwei Fällen. 1: ausführbare Dateien - hauptsächlich für .exe-Dateien auf der Seite des Webservers, die zum Ausführen von Funktionen verwendet werden. Und 2: Protokolle - manchmal lege ich meine .log- oder .dat-Dateien in meinen bin-Ordner.

Jehova sagt
quelle
3
Sprechen Sie über das /binVerzeichnis? Oder der Mülleimerbenutzer?
Sparhawk
6
Bist du überhaupt auf Unix? Sie sprechen von .exeDateien.
user2357112 unterstützt Monica
5
Und warum sollten Sie Protokolldateien oder Konfigurationsdateien in ein "bin" -Verzeichnis stellen?
Leichtigkeit Rennen mit Monica