2013-05-02 16:34:01 +0000 2013-05-02 16:34:01 +0000
62
62
Advertisement

Как найти свой идентификатор пользователя и группу в Mac OS X?

Advertisement

Пытаюсь запустить эту компанию в терминале:

sudo chown -R yourid:yourgroup local

Однако, я понятия не имею, что такое мой ID и моя группа, или где их найти. Есть идеи?

Advertisement

Ответы (6)

65
65
65
2013-05-02 16:49:08 +0000

В 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 в терминале для более подробного вывода. Это будет включать ваш цифровой идентификатор пользователя. В нем также будут перечислены все группы, в которые вы входите, а не только ваша основная группа. Первая группа является основной.

42
42
42
2013-11-27 01:56:17 +0000

Используйте команду id из терминала. Она отобразит ваш uid и группы, к которым вы принадлежите. Например, вот мой вывод, показывающий мой идентификатор пользователя (534), идентификатор группы (20) и группы, к которым я принадлежу (также 20).

uid=534(galuga) gid=20(staff) groups=20(staff)
16
Advertisement
16
16
2016-08-03 09:47:16 +0000

Это покажет вашу учетную запись.

$ 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
4
4
2013-05-02 16:42:49 +0000

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

Это должно выглядеть так:

drwxr-xr-x 2 username usergroup 4096 Oct 17 2012 Templates
4
Advertisement
4
4
2019-05-14 03:44:29 +0000

Прокомментирую, только если смогу. У меня недостаточно кармы на этом сайте. 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, но, пожалуйста, поверьте мне на слово, что это было бы некрасиво.

Надеюсь, кто-нибудь найдет это полезным.

2
2
2
2019-05-06 15:55:00 +0000

Еще более короткий метод поиска первичной группы:

id -gn

Похожие вопросы

12
5
13
8
4
Advertisement
Advertisement