Як знайти свій ідентифікатор користувача та групу в Mac OS X?


59

Спроба запустити цей компакт у терміналі:

sudo chown -R yourid:yourgroup local

Однак я не маю уявлення, що таке мій посвідчення та моя група, або де їх знайти. Якісь ідеї?

Відповіді:


61

У ОС X ваша основна група завжди є, staffякщо ви або ваш менеджер директорій користувачів не змінили її.

Що таке первинна група ? Основна група користувача за замовчуванням є власником усіх файлів, створених цим користувачем.


Для цілей chmodна своєму комп’ютері ви можете використовувати або свій цифровий ідентифікатор користувача (наприклад, 501), або ім’я свого акаунта (наприклад danielbeck). Останнє відрізняється від імені користувача, яке ви зазвичай бачите в інтерфейсі (наприклад, Даніель Бек ).

Ви можете визначити ім'я свого акаунта, скориставшись одним із наведеного нижче:

  • Це назва вашого домашнього каталогу (якщо ви його не налаштовували) у заголовку або бічній панелі Finder

  • Бігати whoamiв терміналі - так, що chown -R $(whoami):staffповинно вистачити. Ви також можете отримати свою основну групу groups $(whoami) | cut -d' ' -f1.

  • Відкрийте Налаштування системи »Користувачі та групи , при необхідності розблокуйте панель, клацніть правою кнопкою миші своє ім’я користувача (запис одного списку в розділі Поточний користувач ) та виберіть Додаткові параметри… . Це поле Ім'я облікового запису у щойно відкритому діалоговому вікні. Це діалогове вікно також показує вашу основну групу.

  • Запустіть idу Terminal для більш детального виводу. Сюди буде включено ваш числовий ідентифікатор користувача. У ньому також будуть перераховані всі групи, до яких ви входите, а не лише ваша основна група. Перша група - первинна.


3
Замість використання whoamiви можете використовувати idв онлайні сумісний з оболонкою posix та csh. chown -R `id -u`:`id -g` FOLDER
fd0

Якщо ви використовуєте автентифікацію LDAP, ваше ім'я користувача обов'язково не буде staff. Ні в якому разі не на моїй роботі Mac OS X.
Шрідхар Сарнобат

1
@ Шрідхар-Сарнобат Я звертаюся до цього у другій половині першого речення своєї відповіді.
Даніель Бек

42

Використовуйте idкоманду з терміналу. Він відобразить ваш uid та групи, до яких ви належите. Наприклад, ось мій висновок із зазначенням мого ідентифікатора користувача (534), ідентифікатора групи (20) та груп, до яких я належу (також 20).

uid=534(galuga) gid=20(staff) groups=20(staff)

15

Це покаже ваш userid.

$ id -u
502

Це покаже назви вашої групи. Назви груп знаходяться всередині дужок.

$ 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)

4

у Терміналі, ідіть ~/Documentsі біжіть ls -la. Ім'я користувача та група будуть вказані поруч із кожним із файлів / каталогів.

Це має виглядати приблизно так:

drwxr-xr-x  2 username usergroup  4096 Oct 17  2012 Templates

супер легко і просто, дякую за підказку.
Тераділ

3

Я б прокоментував лише те, що зможу. У мене немає достатньої кількості карми на цьому сайті.

Я поняття не маю, чому хтось порушив @callaginn, коли він підкреслює дійсну точку.

Наступні методи є дійсними (і, мабуть, найкращі варіанти сценаріїв оболонки):

id -u  # returns UID

id -un # returns username

id -g  # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

Див. man idДодаткові варіанти.

Щоб відповісти на це конкретне запитання, якби я писав сценарій, який би працював у будь-якому середовищі, я не вважав би, що використовується група за замовчуванням, staffі замість цього я зробив би наступне, якби писав сценарій, який можна було б запустити для будь-якого користувача (чи змінили вони свою систему чи ні):

chown "$(id -un):$(id -gn)" some_file

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

Будь ласка , зверніть увагу , що chown«S -Rпрапор повинен бути використаний з максимальною впевненістю. Ви дійсно можете зіпсувати свою систему (Хоча варто зазначити, що Apple зробила це важко з моменту їх впровадження System Integrity Protection).

Розглянемо, наприклад, якби ти chown -R 755 /varзамість цього chown -R 755 /var/wwwкорінця з System Integrity Protectionінвалідом вважав, я вважаю, що ти би за це працював. Я не можу сказати тобі, що би зламалося спочатку, але воно зламається спочатку в системі Дарвіна, але будь ласка, прийміть моє слово, що це було б не дуже.

Сподіваємось, хтось вважає це корисним.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.