Оскільки групи в Mac OS X представлені у вигляді записів в системній директорії, в якій зберігаються дані про облікові записи користувачів і в цілому з ними схожі, вони також можуть бути членами інших груп. Іншими словами, групи в OS X можуть взаємодіяти по ієрархічній (деревовидної) моделі, що дозволяє користувачам не тільки отримувати права доступу, налаштовані для групи, в якій вони знаходяться безпосередньо, а й «успадковувати» їх від груп більш старшого порядку. А ще, один і той же користувач може бути членом декількох груп одного порядку, що робить налаштування прав доступу ще більш гнучкими.
В системі за замовчуванням створено кілька груп користувачів. Всі користувачі без привілеїв адміністратора за замовчуванням є членами групи staff. У них є можливість вносити зміни в файли тільки в своїй домашній папці, що позбавляє їх можливості проводити встановлення нових програм і змінювати налаштування системи. Якщо ви даєте користувачеві привілеї адміністратора, то крім staff. він також стає членом групи admin (хоча з staff користувач на виходить), що розширює його можливості. Наприклад, йому доступна запис в папку «Applications», а отже і установка додатків, до того ж саме члени групи admin. можуть змінювати параметри системи. Однак, і їх права доступу обмежені. Найвищим рівнем доступу має обліковий запис суперкористувача, також звана «root», яка в системі за замовчуванням прихована. У сучасних системах для виконання команд від імені суперкористувача використовується команда «sudo», що дозволяє залишати цю обліковий запис прихованою, а систему, відповідно, менш вразливою. Але не всі користувачі мають право використовувати цю команду. Щоб користувач мав право скористатися командою «sudo», він повинен бути членом ще однієї групи, яка називається wheel і прийшла з UNIX-систем, що лежать біля витоків Mac OS X. І хоча всі члени групи admin автоматично додаються до складу wheel. забувати про неї не варто, так як вона грає важливу роль в роботі системи. Бували випадки, коли користувачі, відкривши властивості завантажувального диска і виявивши в налаштуваннях прав доступу групу wheel. випадково або через незнання, видаляли її або забороняли їй доступ до диска, що призводило до збоїв в роботі системи, а іноді і взагалі перешкоджало її запуску. Звичайно, це можна виправити, але ж краще не доводити?
Якщо раптом з вами все-таки трапилася ця неприємність, ви можете спробувати відновити доступ до диска через одного користувача режим. Для цього вимкніть комп'ютер і при його наступному включенні затисніть поєднання клавіш ⌘Command + S. Після завантаження системи в режимі одного введіть команду mount -uw / Потім введіть наступну команду: chmod 755 / Після цього ви можете перезавантажити комп'ютер командою reboot В результаті, система швидше всього завантажиться в звичному режимі, а в налаштуваннях загального доступу і прав доступу до завантажувального диску знову з'явиться група wheel.
Крім описаних вище, в системі може бути практично необмежену кількість груп, створених користувачами. Щоб створити нову групу досить перейти в меню Установки системи → Користувачі і групи. натиснути на «+» внизу списку, вибрати в спадаючому меню пункт «Група» і дати їй ім'я.
Після того як нова група з'явиться в списку, ви можете додати в неї потрібних вам користувачів (зазначивши їх галочкою), а потім, у властивостях потрібної вам папки або диска в розділі «Загальний доступ і права доступу» додати створену вами групу в список і вибрати для неї відповідний рівень доступу.
Таким чином, за допомогою декількох груп ви можете гнучко налаштувати доступ до важливих папок для всіх користувачів вашого Mac, як працюють фізично за комп'ютером, так і підключаються до нього віддалено або взаємодіючих з створеними на ньому загальними папками.
- Завантажте утиліту з офіційного сайту Apple.
- Змонтуйте отриманий образ подвійним клацанням миші і запустіть інсталятор.
- Проведіть установку Workgroup Manager, після чого запустіть цю утиліту з папки «Програми».
- У вікні, в графі «Address» введіть «localhost», а також введіть ім'я та пароль облікового запису користувача з правами адміністратора в відповідні поля.
- У вікні, вибравши користувача з колонки зліва у вкладці «Groups», ви можете подивитися, в яких групах він складається, а при натисканні на кнопку «Show Inherited Groups», відобразяться також і групи старшого порядку, до яких користувач також має відношення ( вони будуть виділені курсивом).
- Вибравши сусідню вкладку над колонкою з користувачами, ви зможете подивитися список створених в системі груп. Список користувачів, що входить до їх складу можна подивитися вибравши вкладку «Members».
Якщо ж ви користуєтеся більш новою версією системи (10.10 або 10.11), дану утиліту, на жаль, встановити не вдасться. В цьому випадку ви можете придбати розширення Mac OS X Server (його ціна становить приблизно 20 $, що порівняно недорого) і скористатися входить до його складу службою Profile Manager.
Якщо ж ви вважаєте подібні витрати невиправданими або вам здається, що розширювати функціонал системи до серверного тільки заради настільки рідко використовується функції нераціонально, в якості альтернативного рішення можна використовувати Термінал.
- Запустіть Термінал з папки «Програми».
- Введіть команду dscl. search / Groups GroupMembership USERNAME де USERNAME - ім'я цікавить вас користувача.
За допомогою символу вертикальної лінії «|» ми відправляємо отримані дані в систему фільтрів утиліту «grep», щоб залишити тільки рядки, які містять знак рівності «=», а щоб також виключити з кожної залишилася рядка «GroupMembership = (» і залишити тільки назва групи ми можемо використовувати ще одну команду обробки даних «awk», щоб відображати тільки перший елемент кожного рядка. В результаті висновок команди повинен мати наступний вигляд:
Таким чином список груп, до складу яких входить Вас користувач набагато зручніше.
Якщо ж вас, навпаки, цікавить повний список користувачів, що входять до складу певної групи, ви можете скористатися командою dscl. read / Groups / GROUP GroupMembership де GROUP - назву цікавить вас групи.
groups USERNAME
id -Gn USERNAME
id -p
Таким чином, за допомогою описаних вище команд можна охопити практично будь-який аспект налаштування груп і організації користувачів в них. Безумовно, це не так зручно, як могло б бути, якби для цих цілей існував графічний інтерфейс, але через брак безкоштовних альтернатив (особливо на останніх версіях системи) і враховуючи, що налаштуванням груп користувачів доводиться займатися не так вже й часто, цей спосіб можна вважати цілком прийнятним.