Antworten:
Unter OS X ist Ihre primäre Gruppe immer eine Gruppe, es staff
sei denn, Sie oder Ihr Benutzerverzeichnis-Manager haben sie geändert.
Was ist eine primäre Gruppe ? Die primäre Gruppe eines Benutzers ist standardmäßig der Eigentümer aller von diesem Benutzer erstellten Dateien.
Für die Zwecke chmod
Ihres Computers können Sie entweder Ihre numerische Benutzer-ID (z. B. 501) oder Ihren Kontonamen (z danielbeck
. B. ) verwenden. Letzteres unterscheidet sich von dem Benutzernamen, den Sie normalerweise in der Benutzeroberfläche sehen (z . B. Daniel Beck ).
Sie können Ihren Kontonamen mit einer der folgenden Methoden ermitteln:
Dies ist der Name Ihres Home-Verzeichnisses (sofern Sie es nicht angepasst haben) in der Titel- oder Seitenleiste des Finders
whoami
Im Terminal laufen - so chown -R $(whoami):staff
sollte ein ausreichen. Sie können auch Ihre primäre Gruppe mit erhalten groups $(whoami) | cut -d' ' -f1
.
Öffnen Sie die Systemeinstellungen »Benutzer und Gruppen , entsperren Sie gegebenenfalls den Bereich, klicken Sie mit der rechten Maustaste auf Ihren Benutzernamen (den einzelnen Listeneintrag im Abschnitt Aktueller Benutzer ) und wählen Sie Erweiterte Optionen… aus . Es ist das Feld Kontoname im neu geöffneten Dialogfenster. Dieser Dialog zeigt Ihnen auch Ihre primäre Gruppe.
Führen Sie id
in Terminal für eine ausführlichere Ausgabe. Dies beinhaltet Ihre numerische Benutzer-ID. Außerdem werden alle Gruppen aufgelistet, denen Sie angehören, nicht nur Ihre primäre Gruppe. Die erste Gruppe ist die primäre.
staff
. Auf meinem Mac OS X sowieso nicht.
Verwenden Sie den id
Befehl vom Terminal. Daraufhin werden Ihre Benutzerkennung und die Gruppen angezeigt, denen Sie angehören. Hier ist zum Beispiel meine Ausgabe, die meine Benutzer-ID (534), Gruppen-ID (20) und die Gruppen zeigt, denen ich angehöre (auch 20).
uid=534(galuga) gid=20(staff) groups=20(staff)
Daraufhin wird Ihre Benutzer-ID angezeigt.
$ id -u
502
Daraufhin werden Ihre Gruppennamen angezeigt. Die Gruppennamen stehen in Klammern.
$ 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)
Gehen Sie im Terminal zu ~/Documents
und rennen Sie ls -la
. Ihr Benutzername und Ihre Gruppe werden neben den einzelnen Dateien / Verzeichnissen aufgelistet.
Es sollte so aussehen:
drwxr-xr-x 2 username usergroup 4096 Oct 17 2012 Templates
Würde mich nur äußern, wenn ich könnte. Ich habe nicht genug Karma auf dieser Seite.
Ich habe keine Ahnung, warum jemand @callaginn herabgestimmt hat, da er einen gültigen Punkt vorbringt.
Die folgenden Methoden sind gültig (und wahrscheinlich die besten Optionen für Shell-Skripte):
id -u # returns UID
id -un # returns username
id -g # returns primary (a.k.a. effictive) GID
id -gn # returns primary Group Name
Siehe man id
für weitere Optionen.
Um diese spezielle Frage zu beantworten, wenn ich ein Skript geschrieben habe, das in jeder Umgebung funktioniert, würde ich nicht davon ausgehen, dass die Standardgruppe staff
verwendet wird. Stattdessen würde ich Folgendes tun, wenn ich ein Skript schreibe, das für jeden Benutzer ausgeführt werden kann (ob sie ihr System geändert haben oder nicht):
chown "$(id -un):$(id -gn)" some_file
Es ist immer besser, wenn es möglich ist, plattformunabhängig zu sein (wenn es nicht zu zeitaufwändig ist), da Sie später weniger technische Schulden haben werden.
Bitte beachten Sie, dass chown
‚s -R
Flag sollte mit größter Zuversicht verwendet werden. Sie könnten Ihr System wirklich durcheinander bringen (obwohl es erwähnenswert ist, dass Apple es schwierig gemacht hat, dies zu tun, seit es implementiert wurde System Integrity Protection
).
Betrachten wir zum Beispiel, wenn Sie waren chown -R 755 /var
statt chown -R 755 /var/www
mit als root System Integrity Protection
deaktiviert Ich glaube , dass Sie es in wäre. Ich kann dir nicht sagen, was zuerst kaputt gehen würde, aber es würde auf einem Darwin-System zuerst kaputt gehen, aber bitte nimm mein Wort, dass es nicht schön wäre.
Hoffentlich findet das jemand hilfreich.
whoami
können Sieid
einen Oneliner verwenden, der mit posix shells und csh kompatibel ist.chown -R `id -u`:`id -g` FOLDER