Как найти свой идентификатор пользователя и группу в Mac OS X?
Пытаюсь запустить эту компанию в терминале:
sudo chown -R yourid:yourgroup local
Однако, я понятия не имею, что такое мой ID и моя группа, или где их найти. Есть идеи?
Пытаюсь запустить эту компанию в терминале:
sudo chown -R yourid:yourgroup local
Однако, я понятия не имею, что такое мой ID и моя группа, или где их найти. Есть идеи?
В OS X ваша основная группа всегда staff
, если только вы или ваш менеджер каталогов не изменили ее.
Что такое первичная группа? Первичная группа пользователя по умолчанию является владельцем всех файлов, созданных этим пользователем.
Для целей chmod
на вашем компьютере вы можете использовать либо ваш цифровой идентификатор пользователя (например, 501), либо имя вашего счета (например, danielbeck
). Последнее отличается от имени пользователя, которое вы обычно видите в пользовательском интерфейсе (например, Daniel Beck).
Вы можете определить имя вашего счета, используя любое из следующих действий:
Это имя вашего домашнего каталога (если вы его не настроили) в заголовке Finder или боковой панели
Запустите whoami
в Terminal - так что chown -R $(whoami):staff
должно быть достаточно. Вы также можете получить вашу основную группу с помощью groups $(whoami) | cut -d' ' -f1
.
Откройте System Preferences “ Users & Groups, разблокируйте панель, если необходимо, щелкните правой кнопкой мыши ваше имя пользователя (единственная запись в списке в разделе Current User), и выберите Advanced Options…. Это поле Account Name в новом открывшемся диалоговом окне. В этом диалоге также показана ваша основная группа.
Запустите id
в терминале для более подробного вывода. Это будет включать ваш цифровой идентификатор пользователя. В нем также будут перечислены все группы, в которые вы входите, а не только ваша основная группа. Первая группа является основной.
Используйте команду id
из терминала. Она отобразит ваш uid и группы, к которым вы принадлежите. Например, вот мой вывод, показывающий мой идентификатор пользователя (534), идентификатор группы (20) и группы, к которым я принадлежу (также 20).
uid=534(galuga) gid=20(staff) groups=20(staff)
Это покажет вашу учетную запись.
$ 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)
Прокомментирую, только если смогу. У меня недостаточно кармы на этом сайте. 0x2 и 0x2 и я понятия не имею, почему кто-то поставил внизу @callaginn, так как он поднимает правильное очко.
Следующие методы действительны (и, вероятно, лучшие варианты для сценариев оболочки):
Смотрите man id
для большего количества вариантов.
Чтобы ответить на этот конкретный вопрос, если бы я писал сценарий, который бы работал в любой среде, я бы не предполагал, что используется группа staff
по умолчанию, а вместо этого я бы сделал следующее, если бы я писал сценарий, который можно было бы запустить для любого пользователя (независимо от того, модифицировали ли они свою систему или нет):
id -u # returns UID
id -un # returns username
id -g # returns primary (a.k.a. effictive) GID
id -gn # returns primary Group Name
Всегда лучше быть агностичным по отношению к платформе, когда это возможно (если это не слишком большой компромисс по времени), так как позже вы будете нести меньший технический долг.
Пожалуйста, обратите внимание, что флаг chown
должен использоваться с максимальной уверенностью. Вы можете действительно испортить вашу систему (хотя стоит отметить, что Apple усложнила эту задачу, так как они внедрили -R
).
Подумайте, например, если бы вы использовали System Integrity Protection
вместо chown -R 755 /var
в качестве корня с отключенной функцией chown -R 755 /var/www
, я считаю, что вы бы с этим справились. Я не могу сказать, что бы сломалось первым, но это сломалось бы первым на системе Darwin, но, пожалуйста, поверьте мне на слово, что это было бы некрасиво.
Надеюсь, кто-нибудь найдет это полезным.