À quoi sert l’utilisateur du bac?

27

Comme je l'ai écrit sur /unix//a/484626/5132, cela mérite son propre Q&A.

Sur les systèmes d'exploitation Linux…

% getent passwd bin
bin: x: 2: 2: bin: / bin: / usr / sbin / nologin
%
… Et sur FreeBSD…

% getent passwd bin
bin: *: 3: 7: Commandes binaires et source: /: / usr / sbin / nologin
%
… Et sur OpenBSD…

$ getent passwd bin
bin: *: 3: 7: Commandes binaires et source: /: / sbin / nologin
$
… On peut encore trouver un bincompte aujourd'hui . Mais c'est à peu près non documenté. La version 5 de la base standard de Linux dit simplement…

Remarques: L' binID utilisateur / ID de groupe est inclus pour assurer la compatibilité avec les applications héritées. Les nouvelles applications ne doivent plus utiliser l' binID utilisateur / ID groupe.
… Sans expliquer la nature du mécanisme de compatibilité. Comme l'a expliqué Joey Hess en 2001 :

bin:

AIDE : Aucun fichier de mon système n'appartient à un utilisateur ou à un groupe bin. À quoi servent-ils? Historiquement, ils étaient probablement les propriétaires de binaires en /bin? Il n'est pas mentionné dans le FHS, la politique Debian ou le changelog de base-passwd ou base-files.

La question de M. Hess reste sans réponse dans le doco Debian pour son paquetage base-passwd à ce jour , 17 ans plus tard.

Alors, quel est le bincompte?

JdeBP
la source
Une question connexe est unix.stackexchange.com/questions/244989 .
JdeBP

Réponses:

34

bin n'a pas été correctement pour rien pendant toute la durée de vie de Linux.

Comme les niveaux d'exécution et la initgénération à gettycause des enregistrements /etc/inittab, le bincompte était obsolète dans le monde Unix avant même que Linux ne soit inventé. C'est une idée des années 80 qui a été brisée par l'invention et l'adoption du NFS (Network File System) et de son nobodyutilisateur. Sa présence continue dans les bases de données des comptes d'utilisateurs à la fin des années 2010, lorsque les gens du monde commercial Unix ont cessé activement son utilisation dans les années 1990, témoigne de l'inertie.

L'idée était que l' binutilisateur possédait divers répertoires tels que /binet /usr/bin(et en fait certains des autres mentionnés sur /unix//a/448799/5132 tels que /usr/mbinet /usr/5bin) et le non-set-UID / non- les fichiers set-GID qu'ils contiennent. Il possédait également des fichiers et des répertoires doco, tels que des pages de manuel.

(Dans des cas plus extrêmes, sur certains Unices, il appartenait même /et /etc, bien que ce dernier soit une erreur reconnue dans la création d'une image de système d'exploitation SunOS. Le premier était juste stupide.)

Ainsi, l'autorisation d'exécuter des mises à jour logicielles, en tant qu'utilisateur bin, n'était pas une autorisation générale, en tant que superutilisateur, pour effectuer une quelconque action contre le système. L'upgrader logiciel n'a pas pu lire / écrire les fichiers des utilisateurs privés, accéder aux boîtes aux lettres, etc. qui pourrait bien sûr mettre à jour les logiciels en tant que superutilisateur.

Plusieurs autres entrées de compte spéciales dans votre /etc/passwdfichier doivent avoir des mots de passe. Ce sont les comptes administratifs - bin, daemon, sys, uucp, lpet adm. […] La principale raison de l'existence de ces comptes est la propriété sécurisée des commandes, des scripts, des fichiers et des périphériques. Et certains administrateurs installent des mots de passe pour ces comptes et les utilisent réellement. […] Un bincompte sans mot de passe est extrêmement utile pour un disjoncteur système.
- Rebecca Thomas et Rik Farrow (1989). Guide d' administration UNIX System V . Prentice Hall. ISBN 9780139428890. p. 452.

NFS a été inventé au début des années 1980 et a complètement brisé cette idée.

C'était déjà sur un terrain instable, comme l'indique la citation susmentionnée. Cela est dû au fait que la possibilité de mettre à jour les fichiers image du programme pour les utilitaires de base que le superutilisateur a exécutés naturellement, comme /bin/lspar exemple, est un vecteur direct pour obtenir des privilèges de superutilisateur, et la division de l'accès lors de l'utilisation d'un bincompte a simplement été accidentellement empêchée. modifier les mauvais répertoires plutôt qu'empêcher un malfaiteur d'accéder au superutilisateur.

L'avènement de NFS l'a mis en évidence. Bien que NFS ait un mécanisme pour remapper le compte superutilisateur à un compte utilisateur non système ordinaire, il n'en avait pas de même pour les comptes non root comme bin. Donc, si quelqu'un pouvait binaccéder à un client NFS, cela lui donnait binaccès aux fichiers du système d'exploitation sur un serveur NFS. En effet, cela a permis à un superutilisateur sur un client NFS, qui autrement serait remappé à un utilisateur non système ordinaire sur le serveur, d'obtenir un accès propriétaire aux fichiers et répertoires du système d'exploitation du serveur.

C'était de notoriété chownpublique au début des années 1990, et à cette époque, la sagesse était de faire des trucs qui appartenaient binau superutilisateur, de boucher ce trou qui était déjà devenu un élément de rapport standard dans les outils d'audit de sécurité Unix et a été mis en garde contre dans les goûts du doco d'installation pour Sendmail.

En ce qui concerne les questions de M. Hess, cette idée n'a jamais été adoptée sur Debian, qui n'a vu le jour que des années après qu'elle était connue pour être une mauvaise idée dans le monde Unix, qui en effet savait que c'était une mauvaise idée avant Linux lui-même. a été inventé. Les systèmes d'exploitation BSD dont l' histoire fait retour dans les années 1980 étirement ont depuis longtemps fait disparaître la propriété réelle, mais qui conservent néanmoins le compte d'utilisateur dans la base de données de compte. FreeBSD converti bin: binpropriété en root: wheelpropriété en 1998 , par exemple.

Lectures complémentaires

JdeBP
la source
1
J'ai vu aujourd'hui des fichiers appartenant à l' binutilisateur et au groupe sur les systèmes AIX. Il est possible qu'IBM l'utilise pour une raison. Un ensemble de fichiers AIX qui me vient à l'esprit est java. Je vais devoir sauter sur les systèmes AIX au travail pour vérifier plus avant.
Peschke
Il existe encore aujourd'hui un nombre important de fichiers appartenant à bin: bin sur un système AIX. L' IBM Knowledge Center pour AIX 7.2 , dans la section Sécurité - Sécurisation du système d'exploitation de base - Utilisateurs, groupes et mots de passe, contient une page liée expliquant le but des différents "comptes utilisateur spéciaux système", notamment bin.
Jeff Schaller
À partir du lien précédent, nebin figure pas parmi les ID utilisateur par défaut courants que vous pourriez supprimer . Aussi: binle mot de passe saisi est:bin:!:2:2::/bin:
Jeff Schaller
-8

Il y a 2 utilisations de cas que j'utilise bin pour 2018. 1: exécutables - principalement pour les fichiers .exe côté serveur Web utilisés pour compléter les fonctions. Et 2: journaux - parfois, je mets mes fichiers .log ou .dat dans mon dossier bin.

jehovahsays
la source
3
Parlez-vous du /binrépertoire? Ou l'utilisateur du bac?
Sparhawk
6
Êtes-vous même sur une sorte d'Unix? Vous parlez de .exefichiers.
user2357112 prend en charge Monica
5
Et pourquoi voudriez-vous mettre des fichiers journaux ou des fichiers de configuration dans un répertoire "bin"?
Courses de légèreté avec Monica