Запустите sudo из учетной записи без прав администратора


19

Хорошо, я готовлюсь к новой машине, поэтому я смотрю, как мне лучше организовать вещи. Теперь, в настоящее время я использую учетную запись администратора в качестве основной учетной записи, но я знаю, что это, вероятно, не лучшая практика, поэтому я хотел бы переключиться на отдельную учетную запись администратора и не администратора на моем компьютере.

Тем не менее, я разработчик, и я много работаю в терминале, поэтому иногда мне нужно запускать команды через sudo, но, конечно, это не сработает так, как я бы это обычно выполнял ( sudo fooвведите пароль текущей учетной записи ). Я хотел бы знать, зная детали для учетной записи администратора на моем компьютере, можно ли запускать команды через sudo(или аналогичные) из учетной записи, не являющейся администратором, без необходимости каждый раз входить в другую учетную запись? Например, могу ли я как-нибудь вызвать диалог ввода пароля администратора?


Я не уверен, что это будет работать с OSX, но если видел решения на системах Linux (например, Ubuntu), где пользователю разрешено запускать 'su' через 'sudo'. таким образом, вы можете просто ввести «sudo su», ввести пароль пользователя, и вы получите корневую оболочку. Мне нравится это решение, потому что не требуется отдельная учетная запись администратора и пароль
weberik

Я думаю, что стоит упомянуть, что в UNIX-подобных системах, если вы являетесь администратором, вполне нормально работать под учетной записью sudoer. Эквивалент администратора Windows-Xp-esque все время будет входить в систему с правами root.
Linuxios

Ответы:


25

Похоже, вы можете использовать команду SU для переключения на другого пользователя в терминале. Как только вы переключитесь на пользователя с правами администратора, вы можете использовать команды sudo вместе с паролем учетной записи администратора.

Например, когда я на одном из компьютеров моего конечного пользователя и мне нужно запустить что-то с повышенными привилегиями (например, chown) без выхода из системы и войти в учетную запись администратора (ladmin), я бы использовал что-то вроде этого (выделено жирным шрифтом):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

Это запросит пароль учетной записи Ladmin, после ввода вы увидите командную строку bash. Отсюда я могу запускать любые команды sudo, вводя пароль ladmin по мере необходимости ...

bash-3.2 $ sudo chown user2 / some / folder

Это запустит команду chown, используя зарегистрированного пользователя ladmin, запрашивая пароль учетной записи ladmin. После завершения вы можете набрать команду exit, чтобы вернуться к приглашению пользователя, вошедшего в систему.

Снимок экрана с похожим процессом, использующим только sudo для запуска команды ls (например). введите описание изображения здесь


1
Ага! Кажется, это именно то, что мне нужно, спасибо! Не нужно добавлять в файл sudoers, у меня было чувство, что есть способ сделать это, просто я не мог подумать об этом, спасибо за отличный ответ!
Харавикк

5

Добавьте ваше существующее имя пользователя в sudoersфайл, и вам нужно использовать visudoкоманду и добавить следующие строки:

Спецификация привилегий пользователя

root ALL = (ALL) ALL

<randomuser> ВСЕ = (ВСЕ) ВСЕ

% admin ALL = (ALL) ALL

Или все, что вы хотите дать себе. тогда вы можете запуститьsudo whatever до глубины души. Это /etc/sudoersкстати.


4

В терминале введите loginпробел your admin nameи нажмите return. Затем введите свой пароль администратора, нажмите клавишу возврата, и вы вошли в систему как администратор, который может выдавать команды sudo без дополнительной конфигурации или файлов для изменения.


-4

Перейдите в утилиту каталогов, разблокируйте ее, а затем в меню «Правка» выберите «Включить пользователя Root». Введите уникальный пароль для учетной записи root и повторно введите его для проверки. Теперь, сделав это из любой учетной записи, вы можете открыть Terminal.app, в котором вы можете запустить «login» и ввести root при входе в систему, а затем ввести пароль root, который вы только что установили. Вам должно быть хорошо идти! ;)


9
Для этого не нужно включать пользователя root.
Эдуард

Поэтому я могу зайти на любой загруженный Mac, открыть Terminal.app и ввести команду входа в систему. Введите root, а затем что в качестве пароля? Пожалуйста, просветите меня: /
Эндрю У.

3
Я имею в виду, что вам не нужно разрешать пользователю root делать то, что запрашивает OP. На самом деле, если вы идете и используете login, вы также можете войти в учетную запись администратора вместо root.
Эдуар
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.