web-dev-qa-db-fra.com

Pourquoi l'administrateur principal UID 501?

Je comprends * L'utilisateur de l'administrateur principal reçoit un identifiant utilisateur de 501 et les utilisateurs suivants obtiennent des chiffres incrémentiels (502, 503, ...). Mais pourquoi 501? Ce qui est spécial sur 50x Quelle est la raison historique/technique de ce choix?

* J'ai commencé à regarder dans ce moment où je me suis curieux de savoir pourquoi mon disque dur externe avait tous ses fichiers détruits à l'intérieur .Trashes/501. Ma recherche m'a conduit à la conclusion 501 est l'ID utilisateur de l'administrateur principal dans * NIX Systems (je suis sur MacOS), mais pas pourquoi.

11
user137369

De nombreux systèmes UNIX commencent à distribuer des uids aux utilisateurs à un numéro particulier. Solaris donnera le premier utilisateur général UID 100, sur OpenBSD, il est 1000, et sur MacOS, il apparaît que c'est UID 501 qui sera l'UID pour le premier utilisateur interactif créé, qui est également probablement un utilisateur de MacOS Admin (qui n'est probablement pas le même. comme utilisateur root).

Les comptes avec des nombres plus bas sont les comptes d'utilisateurs du système des démons, etc. Cela facilite la distinction des comptes "humains" interactifs des comptes de services système. Cela peut également effectuer une gestion des utilisateurs, une authentification, etc. Plus facilement dans divers logiciels. YP/NIS , un système légèrement dépassé pour tenir compte des comptes d'utilisateurs (et d'autres informations) sur un serveur central sans avoir à créer des utilisateurs locaux sur plusieurs machines client, par exemple, a un MINUID et MAXUID réglage pour la gamme de comptes d'utilisateurs qu'il doit gérer.

Sur certains unes, une gamme de comptes de service système peut être attribuée à des logiciels tiers, tels que les UID 50 à 999 sur FreeBSD ou 500 à 999 sur OpenBSD.

Toutes ces gammes sont choisies par les fabricants et les responsables des personnes individuelles en fonction des besoins attendus de leur système d'exploitation. La norme POSIX ne dit rien de ces choses. L'UID (et la GID) la plus basse et la plus élevée est souvent configurable par un administrateur local (voir votre manuel adduser).

La plupart des unises réservent UID 0 pour root, le super-utilisateur et attribue le UID le plus élevé possible (ou au moins une valeur élevée) à l'utilisateur nobody (Solaris utilise UID 60001, openbsd utilise 32768 , mais des uids peuvent être beaucoup plus grand que cela).

(Voir les commentaires sur UID 0 Toujours être root (ou non), qui est une légère digression de ce sujet)


Mise à jour: Le projet OPENBSD récemment rejeté l'idée de randomiser l'allocation UID/GID.

21
Kusalananda

Pour les distributions qui suivent le [~ # ~] LSB [~ # ~ ~] , ils allouent des uids et des gidons 0-99 statiquement. Les UID 100-499 sont alloués de manière dynamique, mais elles sont également pour le système et non pour les comptes de connexion.

Par exemple, les démons d'impression comme cups ont tendance à être attribués à leur propre compte d'utilisateur. Donc, si une vulnérabilité dans le démon est exploitée, le démon ne fonctionne pas comme root à pleine puissance sur le système. (Il n'a pas nécessairement le pouvoir d'interférer avec d'autres démons).

Sur les distributions Linux plus récentes, la plage de systèmes est étendue à 999.

Cela laisserait des uids 500 vers le haut (ou 1000) pour les comptes de connexion.

Debian a également un statique allocation pour UidGid 100, bien que je ne puisse pas imaginer que la déviation provoque un problème particulier.

Il est facile d'imaginer un autre système avec une déviation hors-tête, qui se réserve en outre l'UID 500. (Je suppose que cela serait toujours conforme; Je ne peux pas imaginer que tous les Linux ont enfreint le LSB pour cette longue, sans il en cours de mise à jour).

Le premier compte de connexion ne doit pas nécessairement être un compte administrateur ni le compte administrateur principal. Les systèmes n'utilisent pas nécessairement Sudo (surtout s'ils pré-remis :). Vous pouvez dire que le "compte administrateur principal" est root dans ce cas. Autre que cela, * Nix et des distributions Linux à usage général ne reconnaissent pas un "compte administrateur principal" spécifique.

8
sourcejedi