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
bin
compte aujourd'hui . Mais c'est à peu près non documenté. La version 5 de la base standard de Linux dit simplement…Remarques: L'… Sans expliquer la nature du mécanisme de compatibilité. Comme l'a expliqué Joey Hess en 2001 :bin
ID utilisateur / ID de groupe est inclus pour assurer la compatibilité avec les applications héritées. Les nouvelles applications ne doivent plus utiliser l'bin
ID utilisateur / ID groupe.
bin
:AIDE : Aucun fichier de mon système n'appartient à un utilisateur ou à un groupebin
. À 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 bin
compte?
passwd
non-root-user
JdeBP
la source
la source
Réponses:
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
init
génération àgetty
cause des enregistrements/etc/inittab
, lebin
compte é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 sonnobody
utilisateur. 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'
bin
utilisateur possédait divers répertoires tels que/bin
et/usr/bin
(et en fait certains des autres mentionnés sur /unix//a/448799/5132 tels que/usr/mbin
et/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
- Rebecca Thomas et Rik Farrow (1989). Guide d' administration UNIX System V . Prentice Hall. ISBN 9780139428890. p. 452.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.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/ls
par exemple, est un vecteur direct pour obtenir des privilèges de superutilisateur, et la division de l'accès lors de l'utilisation d'unbin
compte 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 pouvaitbin
accéder à un client NFS, cela lui donnaitbin
accè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é
chown
publique au début des années 1990, et à cette époque, la sagesse était de faire des trucs qui appartenaientbin
au 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
:bin
propriété enroot
:wheel
propriété en 1998 , par exemple.Lectures complémentaires
/etc/inittab
appartient au passé. . Réponses fréquemment données.la source
bin
utilisateur 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 estjava
. Je vais devoir sauter sur les systèmes AIX au travail pour vérifier plus avant.bin
.bin
figure pas parmi les ID utilisateur par défaut courants que vous pourriez supprimer . Aussi:bin
le mot de passe saisi est:bin:!:2:2::/bin:
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.
la source
/bin
répertoire? Ou l'utilisateur du bac?.exe
fichiers.