83 votes

Comment trouver mon ID utilisateur et mon groupe dans Mac OS X ?

J'essaie d'exécuter ce compand dans le terminal :

sudo chown -R yourid:yourgroup local

Cependant, je n'ai aucune idée de ce que sont mon ID et mon groupe, ni où les trouver. Avez-vous une idée ?

81voto

Daniel Beck Points 105590

Sous OS X, votre groupe primaire est toujours staff à moins que vous ou votre responsable de répertoire d'utilisateurs ne l'ayez modifié.

Qu'est-ce qu'un groupe primaire ? Le groupe primaire d'un utilisateur est par défaut le propriétaire de tous les fichiers créés par cet utilisateur.


Aux fins de chmod sur votre ordinateur, vous pouvez utiliser soit votre identifiant numérique (par exemple, 501), soit votre nom de compte (par exemple, le nom de l'utilisateur). danielbeck ). Ce dernier est différent du nom d'utilisateur que vous voyez habituellement dans l'interface utilisateur (par ex. Daniel Beck ).

Vous pouvez déterminer le nom de votre compte en utilisant l'une des méthodes suivantes :

  • C'est le nom de votre répertoire d'origine (à moins que vous ne l'ayez personnalisé) dans le titre ou la barre latérale du Finder.

  • Exécuter whoami dans le terminal - donc un chown -R $(whoami):staff devrait suffire. Vous pouvez également obtenir votre groupe primaire avec groups $(whoami) | cut -d' ' -f1 .

  • Ouvrir Préférences du système " Utilisateurs et groupes Pour déverrouiller le volet si nécessaire, cliquez avec le bouton droit de la souris sur votre nom d'utilisateur (l'unique entrée de la liste dans le menu déroulant). Utilisateur actuel ), et sélectionnez Options avancées . C'est le champ Nom du compte dans la nouvelle fenêtre de dialogue ouverte. Cette boîte de dialogue vous montre également votre groupe primaire.

  • Exécuter id dans le Terminal pour une sortie plus verbeuse. Cela comprendra votre ID utilisateur numérique. Elle listera également tous les groupes dont vous êtes membre, et pas seulement votre groupe principal. Le premier groupe est le groupe principal.

50voto

galuga Points 501

Utilisez le id à partir du terminal. Elle affichera votre uid et les groupes auxquels vous appartenez. Par exemple, voici la sortie montrant mon identifiant d'utilisateur (534), mon identifiant de groupe (20) et les groupes auxquels j'appartiens (également 20).

uid=534(galuga) gid=20(staff) groups=20(staff)

29voto

Gabriel Wu Points 391

Cela montrera votre identifiant.

$ id -u
502

Cela affichera les noms de vos groupes. Les noms des groupes sont entre parenthèses.

$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)

11voto

Robert J Points 210

Je ne commenterais que si je pouvais. Je n'ai pas assez de karma sur ce site.

Je ne sais pas pourquoi quelqu'un a rétrogradé @callaginn, car il soulève un point valable.

Les méthodes suivantes sont valables (et probablement les meilleures options pour le script Shell) :

id -u  # returns UID

id -un # returns username

id -g  # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

Voir man id pour plus d'options.

Pour répondre à cette question spécifique, si j'écrivais un script qui fonctionnerait dans n'importe quel environnement, je ne supposerais pas que le groupe par défaut staff est utilisé et à la place je ferais ce qui suit si j'écrivais un script qui pourrait être exécuté pour n'importe quel utilisateur (qu'il ait ou non modifié son système) :

chown "$(id -un):$(id -gn)" some_file

Il est toujours préférable de ne pas tenir compte de la plate-forme dans la mesure du possible (si cela ne représente pas un compromis trop important en termes de temps), car vous aurez moins de dettes techniques par la suite.

Veuillez noter que chown 's -R doit être utilisé avec la plus grande confiance. Vous pourriez vraiment endommager votre système (bien qu'il soit intéressant de noter qu'Apple a rendu la chose difficile depuis qu'ils ont mis en place le programme System Integrity Protection ).

Considérez, par exemple, que si vous deviez chown -R 755 /var au lieu de chown -R 755 /var/www comme racine avec System Integrity Protection handicapés, je crois que vous seriez dans le coup. Je ne peux pas vous dire ce qui se briserait en premier, mais ce serait d'abord sur un système Darwin, mais croyez-moi sur parole, ce ne serait pas joli.

J'espère que quelqu'un trouvera cela utile.

7voto

callaginn Points 71

Une méthode encore plus courte pour trouver le groupe primaire :

id -gn

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X