Я запускаю XAMPP, который поставляется с небольшим приложением "XAMPP Control", которое позволяет мне запускать и останавливать Apache и MySQL, нажимая кнопку. Когда я делаю это, Lion запрашивает у меня пароль администратора. Есть ли способ пропустить этот шаг? (В Windows это похоже на вопрос: как запустить программу XAMPP Control в режиме администратора?"- не уверен, что есть аналог для Mac.)
3 ответа
В потоке Запуск панели управления Xampp без пароля перечислены два возможных решения:
- Напишите сценарии, которые запускают и останавливают XAMPP, указав пароль в сценариях.
Два сценария включены в поток. - Отредактируйте файл
/etc/sudoers
,sudo /Applications/XAMPP/xamppfiles/xampp start
не требуется пароль.
проблема
Mac OSX запрашивает ваш пароль, потому что XAMPP пытается запустить команду * nix [sudo](http://en.wikipedia.org/wiki/Sudo)
. Это можно преодолеть одним из двух способов:
а. Разрешить запуск всех команд sudo
без пароля.
б. Разрешить запуск только команды XAMPP без пароля.
Решение
Чтобы использовать одно из этих решений, сделайте следующее:
- Откройте Terminal.app (мне нравится нажимать Ctrl+Space, затем введите «Terminal.app», затем нажмите Enter).
- Запустите
sudo nano /etc/sudoers
. Добавьте следующий текст в файл, где username - это ваше короткое имя пользователя (введите
whoami
в терминал, чтобы получить его):- Для варианта а:
%username ALL=(ALL) NOPASSWD
- Для варианта б:
%username ALL= NOPASSWD: /Applications/XAMPP/xamppfiles/xampp
Нажмите Ctrl+x и сохраните при появлении запроса.
Обратите внимание, что в OSX Mavricks вам, возможно, придется добавить знак % перед именем пользователя (в /etc/sudoers
).
macOS High Sierra
В High Sierra я не мог заставить работать новое приложение control manager-osx без ввода пароля, даже при добавлении его в sudoers.
Но вы можете запустить xampp из командной строки, чтобы запустить и остановить xampp (или только apache) без пароля, если вы добавите его в файл sudoers.
Но: приведенные выше решения создали для меня проблемы, поэтому вот что я сделал:
Не редактируйте файл /etc/sudoers/
, многие вещи могут пойти не так! Если вы действительно хотите, используйте sudo visudo
macOS также не позволяет использовать vim sudoers
(вы не можете сохранить), по крайней мере, с активированным SIP.
Лучший подход
Создайте новый файл в каталоге /etc/sudoers.d
. Вам нужны права root для создания файла.
Назовите файл как ваше имя пользователя (например). Расширение не требуется.
Имя файла на самом деле не имеет значения, но оно не должно содержать ~
в конце или точку (.
) В начале.
В этом новом файле создайте только необходимые записи, но НЕ добавляйте %
перед вашим именем пользователя. Это не сработало для меня, и каждый звонок sudo
занимал много времени, прежде чем спрашивать пароль.
Содержание нового файла:
username ALL = NOPASSWD: /Applications/XAMPP/xamppfiles/xampp
Теперь вы можете запустить
sudo /Applications/XAMPP/xamppfiles/xampp start
в терминале, чтобы запустить xampp, и вам не нужно вводить пароль.
Если что-то пойдет не так
Удалите все свои записи в sudoers или новом файле или закомментируйте их с двойным ##
чтобы sudo проигнорировал их.
Попробуйте это, если файл полностью сломан: https://astrails.com/blog/2009/09/29/how-to-fix-a-hosed-etc-sudoers-file-on-mac-osx
Если ничего не работает, перезагрузитесь в однопользовательский режим и восстановите файл. Также в /etc
должна быть резервная копия sudoers~orig
.