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

59

Essayer 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 mes identifiants et mon groupe, ni où les trouver. Des idées?

Nu comme un ver
la source

Réponses:

61

Sur OS X, votre groupe principal est toujours, staffsauf si vous ou votre gestionnaire de répertoires d'utilisateurs le modifiez.

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


Pour les besoins de chmodvotre ordinateur, vous pouvez utiliser votre ID utilisateur numérique (par exemple 501) ou votre nom de compte (par exemple danielbeck). Ce dernier est différent du nom d'utilisateur que vous voyez habituellement dans l'interface utilisateur (par exemple, Daniel Beck ).

Vous pouvez déterminer le nom de votre compte en utilisant l’un des éléments suivants:

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

  • Run whoamiin Terminal - chown -R $(whoami):staffdevrait suffire. Vous pouvez également obtenir votre groupe principal avec groups $(whoami) | cut -d' ' -f1.

  • Ouvrez les Préférences Système »Utilisateurs et groupes , déverrouillez le volet si nécessaire, cliquez avec le bouton droit de la souris sur votre nom d'utilisateur (l'entrée de liste unique dans la section Utilisateur actuel ), puis sélectionnez Options avancées… . C'est le champ Nom du compte dans la nouvelle fenêtre de dialogue. Cette boîte de dialogue vous montre également votre groupe principal.

  • Exécuter iddans Terminal pour une sortie plus détaillée. Cela inclura votre ID utilisateur numérique. Il listera également tous les groupes dont vous êtes membre, pas seulement votre groupe principal. Le premier groupe est le principal.

Daniel Beck
la source
3
Au lieu d'utiliser whoami, vous pouvez utiliser idun oneliner compatible avec les shells posix et csh. chown -R `id -u`:`id -g` FOLDER
fd0
Si vous utilisez l'authentification LDAP, votre nom d'utilisateur ne sera pas nécessairement staff. Pas sur mon travail Mac OS X de toute façon.
Sridhar Sarnobat le
1
@ Sridhar-Sarnobat J'adresse cette question dans la seconde moitié de la première phrase de ma réponse.
Daniel Beck
42

Utilisez la idcommande du terminal. Il affichera votre uid et les groupes auxquels vous appartenez. Par exemple, voici ma sortie indiquant 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)
galuga
la source
15

Cela montrera votre userid.

$ id -u
502

Cela montrera les noms de vos groupes. Les noms de groupe 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)
Gabriel Wu
la source
4

dans Terminal, allez ~/Documentset courez ls -la. Votre nom d'utilisateur et votre groupe seront listés à côté de chacun des fichiers / répertoires.

Ça devrait ressembler à ça:

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates
miah
la source
super facile et simple, merci pour le tuyau.
Teradyl
3

Ne ferait que commenter si je pouvais. Je n'ai pas assez de karma sur ce site.

Je ne sais pas pourquoi quelqu'un a voté contre @callaginn, alors qu'il soulève un point valable.

Les méthodes suivantes sont valides (et probablement les meilleures options pour les scripts 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 idpour 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 staffest utilisé, mais je procéderais comme suit si j'écrivais un script pouvant être exécuté pour tout utilisateur. (qu'ils aient ou non modifié leur système):

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

Dans la mesure du possible, il est toujours préférable d'être agnostique pour toutes les plates-formes (si ce n'est pas trop compliqué), car vous contracterez moins de dettes techniques plus tard.

S'il vous plaît noter que chownde » -Rdrapeau doit être utilisé avec la plus grande confiance. Vous pourriez vraiment gâcher votre système (même s’il est intéressant de noter que Apple a rendu la tâche difficile depuis leur mise en œuvre System Integrity Protection).

Prenons, par exemple, si vous deviez au chown -R 755 /varlieu de en chown -R 755 /var/wwwtant que root avec System Integrity Protectiondésactivé , je crois que vous seriez pour elle. Je ne peux pas vous dire ce qui se briserait en premier, mais cela se produirait en premier sur un système Darwin, mais croyez-moi, cela ne serait pas beau.

Espérons que quelqu'un trouve cela utile.

Robert J
la source
2

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

id -gn
callaginn
la source