Что я должен войти в Терминал, используя sudo, чтобы стать администратором?

11

Моя учетная запись пользователя является стандартной учетной записью на моем Mac. Что я должен ввести в Терминал sudo, чтобы стать администратором?

Стивен Савари
источник
1
Речь идет о постоянном изменении учетной записи пользователя или о запуске терминальной сессии с правами администратора (или пользователя root), для которого вы знаете информацию для входа?
rackandboneman

Ответы:

14

Если реальный пользователь <user_name> имеет стандартную учетную запись, вам нужно будет ввести

sudo dscl . -append /Groups/admin GroupMembership <user_name>

сделать <user_name> администратором.

Только ограниченное число пользователей являются sudoers (то есть учетными записями, которым разрешено запускать suили sudoс привилегиями root успешно). Стандартный файл sudoers ( / etc / sudoers ) в OS X выглядит следующим образом:

...
# User privilege specification
root    ALL=(ALL) ALL
%admin  ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel    ALL=(ALL) ALL
...

Поэтому только root и члены группы администраторов могут запускаться sudoпо умолчанию. Приведенная выше команда, запускаемая <user_name> , не будет выполнена, потому что <user_name> отсутствует в списке.

Чтобы включить sudoing для <user_name> , вам нужно добавить <user_name> в список (ниже # Спецификация привилегий пользователя ) или раскомментировать строку% wheel, с sudo visudoкоторой должен снова запускаться sudoers (это Catch22, упомянутый Tetsujin).

klanomath
источник
1
Очень специфично, чтобы противостоять моей «удивительно смутной». +1, как всегда.
Тецудзин
1
Я не помню: не последняя версия OSX. включать в себя какое-то "не совсем-sudo", в котором отсутствуют полные стандартные права su Unix?
Карл Виттофт
3
@CarlWitthoft Да, вы, вероятно, думаете о SIP .
Дедитос
12

Это что-то вроде Catch22 ...

Вы уже должны быть администратором, чтобы быть в списке sudoers [с очень небольшим количеством исключений, измененных вручную]

По сути, вы не можете рекламировать себя.
В этом весь смысл sudo и того, чтобы быть администратором, чтобы иметь возможность назначать ограниченные возможности не администратора.

Tetsujin
источник
-2

Если у вас есть доступ к учетной записи администратора, вы можете временно стать этой учетной записью с:

su - <admin_username>

Оттуда вы можете выполнять административные действия через sudo.

Если у вас нет доступа к учетной записи администратора, то не существует «санкционированного» способа получения доступа администратора (поскольку в этом весь смысл наличия отдельных ролей администратора), но существует множество менее законных способов его получения. такие как эксплойты повышения привилегий или загрузка в однопользовательском режиме. (Они будут оставлены в качестве упражнения для читателя.)

пушистый
источник