Правильний ідентифікатор групи (gid) для Лева?


9

Якщо ви створите абсолютно новий обліковий запис адміністратора в Lion, наступним буде ваш ідентифікатор та членство в групі (від $ id [new Lion account] | perl -lne 's/ /\n/g; s/,/\n\t/g; print;'):

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)

На противагу цьому, у старшому обліковому записі OS X будуть вказані такі uid, gid тощо:

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)

Зауважте, що в gid=20(staff)новому обліковому записі є той, хто є користувачем 20(staff).

Під час оновлення старого облікового запису до Lion зберігаються імена старих користувачів та груп.

Повідомлялося про проблеми, які не мають staffчленства в групі на оновлених акаунтах:

  1. Неможливість встановлення або оновлення Homebrew;
  2. Відображення "Виймання" при натисканні Cmd+ Iна файли у вашій папці користувача
  3. Проблеми ACL та дозволу .

Нинішній спосіб вирішення виглядає таким:

  1. Додайте користувача до персоналу (тобто: $ sudo dscl. Append / Групи / персонал GroupMembership `whoami` або еквівалент)
  2. Використовуйте відновлення Лева для відновлення дозволів домашньої папки за замовчуванням (натисніть на вкладку "Без диска - Лев").

Поки що це вирішило багато проблем, які виникли у мене з оновленням, і, здається, у мене довший ресурс акумулятора та менша витрата процесора.

Однак ось питання, які у мене є:

1. Чи повинен чи я пройти через проблеми зміни gid=501на gid=20на моєму рахунку або просто бути членом групи співробітників досить добре?

2. Чи бути членом 20 (персонал) те саме, що мати gid = 20 (персонал)?

3. Якщо я змінив gid=частину свого акаунта, як це зробити на Леві? Я знаю лише, як це зробити на Ubuntu ...

Відповіді:


4

Я не бачив різниці в тому, як OS X поводиться з первинною групою порівняно з іншими групами користувача, тому не думаю, що це має реальну зміну. Я б схильний "виправити" це для акуратності. Ці команди повинні встановити первинну групу на 20, а потім додати "вторинне" членство в старій andrew групі:

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

(Примітка: використання dscl для додавання членства в другорядних групах не зовсім добре, а замість цього використовується dseditgroup.)


Казковий !!! Це вирішило проблему. Вам потрібно перезавантажити (або вийти / увійти з облікового запису) або idпокаже це, egid=501поки ви цього не зробите. Дякую!!!
Малював

Якщо ви схожі на мене, то ви будете потребувати в цьому: sudo dscl . delete /users/andrew.
orome

@raxacoricofallapatorius: це видаляє всю запис користувача - ви, мабуть, цього не хочете робити.
Гордон Девіссон

@GordonDavisson: Якщо спочатку забули замінити своє ім'я користувача andrew(як я це зробив!) - саме цього ви хочете.
orome

1

Я боюся, що на це немає простої відповіді:

  • при доступі до файлів не має значення, чи ваш гід, staffчи ви просто член цієї групи
  • при створенні файлів це може мати значення, тому що нові файли належать вам, але отримуйте групу з каталогу, в якому вони створені. Але оскільки файл належить вам у цьому випадку, ви маєте можливість мати доступ до нього у будь-якому випадку

Для більшості практичних цілей належність до групи, ймовірно, достатня (тим більше, що, здається, ваші проблеми наразі вирішені).


1
Дякую. Як я міг би dsclзмінити гід?
намалював

2
Це стосується деяких Unix, але не OS X; у файлах OS X успадковується призначення їх групи з батьківської папки, а не на основі первинної групи користувача.
Гордон Девіссон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.