Prawidłowy identyfikator grupy (gid) dla Lwa?

9

Jeśli utworzysz zupełnie nowe konto administratora w Lion, Twoje ID i członkostwa w grupach (od $ id [new Lion account] | perl -lne 's/ /\n/g; s/,/\n\t/g; print;') będą następujące:

uid=504(lt)
gid=20(staff)
groups=20(staff)
    402(com.apple.sharepoint.group.1)
    12(everyone)
    33(_appstore)
    61(localaccounts)
    79(_appserverusr)
    80(admin)
    81(_appserveradm)
    98(_lpadmin)
    100(_lpoperator)
    204(_developer)
    403(com.apple.sharepoint.group.2)
    401(com.apple.access_screensharing)

Natomiast starsze konto OS X będzie miało takie identyfikatory użytkownika, gid itp:

uid=501(andrew)
gid=501(andrew)
groups=501(andrew)
    403(com.apple.sharepoint.group.2)
    204(_developer)
    100(_lpoperator)
    98(_lpadmin)
    81(_appserveradm)
    80(admin)
    79(_appserverusr)
    61(localaccounts)
    12(everyone)
    401(com.apple.access_screensharing)
    402(com.apple.sharepoint.group.1)

Zwróć uwagę, że gid=20(staff)na nowszym koncie użytkownik jest członkiem 20(staff).

Po uaktualnieniu starszego konta do Lion zachowane są starsze nazwy użytkowników i grup.

Zgłoszono problemy z brakiem staffczłonkostwa w grupach na uaktualnionych kontach:

  1. Brak możliwości instalacji lub aktualizacji Homebrew;
  2. Wyświetlanie „Pobieranie” po naciśnięciu Cmd+ Ina plikach w folderze użytkownika
  3. ACL i problemy z uprawnieniami .

Wydaje się, że obecne obejście:

  1. Dodaj użytkownika do personelu (np .: $ sudo dscl. Append / Groups / staff GroupMembership `whoami` lub odpowiednik)
  2. Użyj programu Lion Recovery, aby przywrócić domyślne uprawnienia do folderu domowego (kliknij kartę „Bez dysku - Lion”).

Do tej pory naprawiłem wiele problemów z aktualizacją i wydaje mi się, że mam dłuższą żywotność baterii i mniejsze zużycie procesora.

Oto jednak pytania, które mam:

1. powinienem przejść przez trud zmieniania gid=501się gid=20na moim koncie lub jest po prostu bycie członkiem grupy personel wystarczająco dobry?

2. Czy bycie członkiem 20 (pracowników) jest tym samym, co posiadanie gid = 20 (pracowników)?

3. Jeśli zmieniłem gid=część mojego konta, jak to zrobić w Lion? Wiem tylko, jak to zrobić na Ubuntu ...

Drawk
źródło

Odpowiedzi:

4

Nie widziałem żadnej różnicy w tym, jak OS X traktuje grupę podstawową w porównaniu z innymi grupami użytkownika, więc nie sądzę, żeby miało to jakąkolwiek istotną różnicę. Byłbym jednak skłonny „naprawić” porządek. Te polecenia powinny ustawić grupę podstawową na 20, a następnie dodać „wtórne” członkostwo w starej grupie andrew:

sudo dscl . create /Users/andrew PrimaryGroupID 20
sudo dseditgroup -o edit -a andrew -t user andrew

(Uwaga: użycie dscl do dodania członkostwa w grupie drugorzędnej nie robi tego dobrze - zamiast tego użyj dseditgroup).

Gordon Davisson
źródło
Fantastyczny!!! To rozwiązało problem. Musisz zrestartować komputer (lub wylogować się / zalogować ze swojego konta) lub idpokaże to, egid=501dopóki tego nie zrobisz. Dzięki!!!
zremisował
Jeśli jesteś podobny do mnie, to musisz to: sudo dscl . delete /users/andrew.
orome
@raxacoricofallapatorius: usuwa cały rekord użytkownika - prawdopodobnie nie chcesz tego robić.
Gordon Davisson
@GordonDavisson: Jeśli na początku zapomniałeś zastąpić swoją nazwę użytkownika andrew(tak jak ja!) - właśnie tego chcesz.
orome
1

Obawiam się, że nie ma łatwej odpowiedzi na to:

  • podczas uzyskiwania dostępu do plików nie ma znaczenia, czy Twój identyfikator jest, staffczy tylko jesteś członkiem tej grupy
  • podczas tworzenia plików może to mieć znaczenie, ponieważ nowe pliki należą do Ciebie, ale pobierz grupę z katalogu, w którym zostały utworzone. Ale ponieważ plik należy do Ciebie, w takim przypadku powinieneś mieć do niego dostęp

Do większości praktycznych celów należenie do grupy jest prawdopodobnie wystarczające (zwłaszcza, że ​​twoje problemy wydają się być obecnie rozwiązane).

nohillside
źródło
1
Dzięki. Jak miałbym użyć, dsclaby zmienić GID?
drewk
2
Dotyczy to niektórych uniksów, ale nie OS X; Pliki w systemie OS X dziedziczą przypisanie do grupy z folderu nadrzędnego, a nie na podstawie grupy podstawowej użytkownika.
Gordon Davisson