Odpowiedzi:
W OS X twoja podstawowa grupa jest zawsze, staff
chyba że ty lub twój menedżer katalogów użytkowników to zmieniłeś.
Jaka jest podstawowa grupa ? Podstawowa grupa użytkownika jest domyślnie właścicielem wszystkich plików utworzonych przez tego użytkownika.
Do celów chmod
komputera możesz użyć numerycznego ID użytkownika (np. 501) lub nazwy konta (np danielbeck
.). Ta ostatnia różni się od nazwy użytkownika, którą zwykle widzisz w interfejsie użytkownika (np. Daniel Beck ).
Możesz określić nazwę swojego konta, korzystając z jednego z poniższych sposobów:
Jest to nazwa twojego katalogu domowego (chyba że go dostosowałeś) w tytule Findera lub pasku bocznym
Uruchom whoami
w terminalu - tak chown -R $(whoami):staff
powinno wystarczyć. Możesz także zdobyć swoją grupę podstawową groups $(whoami) | cut -d' ' -f1
.
Otwórz Preferencje systemowe »Użytkownicy i grupy , odblokować panel, jeśli jest to konieczne, kliknij prawym przyciskiem myszy nazwę użytkownika (pojedynczy wpis na liście w bieżący użytkownik sekcji) i wybierz Opcje zaawansowane ... . To pole Nazwa konta w nowo otwartym oknie dialogowym. To okno dialogowe pokazuje również twoją podstawową grupę.
Uruchom id
w terminalu, aby uzyskać bardziej szczegółowe dane wyjściowe. Obejmuje to numeryczny identyfikator użytkownika. Spowoduje to także wyświetlenie wszystkich grup, do których należysz, a nie tylko Twojej grupy podstawowej. Pierwsza grupa jest podstawowa.
staff
. W każdym razie nie w mojej pracy Mac OS X.
Użyj id
polecenia z terminala. Wyświetli Twój identyfikator użytkownika i grupy, do których należysz. Na przykład, oto moje dane wyjściowe pokazujące mój identyfikator użytkownika (534), identyfikator grupy (20) i grupy, do których należę (również 20).
uid=534(galuga) gid=20(staff) groups=20(staff)
Spowoduje to wyświetlenie Twojego identyfikatora użytkownika.
$ id -u
502
Spowoduje to wyświetlenie nazw grup. Nazwy grup znajdują się w nawiasach.
$ 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)
Komentowałbym tylko, gdybym mógł. Nie mam wystarczająco dużo karmy na tej stronie.
Nie mam pojęcia, dlaczego ktoś przegłosował @callaginn, ponieważ porusza słuszną kwestię.
Poprawne są następujące metody (i prawdopodobnie najlepsze opcje dla skryptów powłoki):
id -u # returns UID
id -un # returns username
id -g # returns primary (a.k.a. effictive) GID
id -gn # returns primary Group Name
Zobacz man id
więcej opcji.
Aby odpowiedzieć na to konkretne pytanie, gdybym pisał skrypt, który działałby w dowolnym środowisku, nie zakładałbym, że grupa domyślna staff
jest używana, a zamiast tego zrobiłbym następujące, gdybym pisał skrypt, który można uruchomić dla dowolnego użytkownika (niezależnie od tego, czy zmodyfikowali swój system):
chown "$(id -un):$(id -gn)" some_file
Zawsze lepiej jest być niezależnym od platformy, gdy tylko jest to możliwe (jeśli nie jest to zbyt duży kompromis czasowy), ponieważ później zaciągniesz mniej długu technicznego.
Należy pamiętać, że chown
„s -R
flagi powinny być stosowane ze szczególną ufnością. Naprawdę możesz zepsuć swój system (chociaż warto zauważyć, że Apple utrudniło to, odkąd go wdrożono System Integrity Protection
).
Rozważmy na przykład, gdybyś chown -R 755 /var
zamiast chown -R 755 /var/www
rootować z System Integrity Protection
niepełnosprawnym, uważam, że byłbyś w stanie to zrobić. Nie mogę ci powiedzieć, co by się zepsuło jako pierwsze, ale to by się zepsuło jako pierwsze w systemie Darwina, ale proszę, uwierz mi na słowo, że nie byłoby ładnie.
Mam nadzieję, że ktoś uzna to za pomocne.
whoami
możesz używaćid
w oneliner, który jest kompatybilny z powłokami POSIX i csh.chown -R `id -u`:`id -g` FOLDER