Mac OS X - запустить Apache / Mysql без запроса пароля

8

Я запускаю XAMPP, который поставляется с небольшим приложением «XAMPP Control», которое позволяет мне запускать и останавливать Apache и MySQL, нажимая кнопку. Когда я это делаю, Lion запрашивает у меня пароль администратора. Есть ли способ пропустить этот шаг? (В Windows это похоже на вопрос: «Как я могу запустить программу XAMPP Control в режиме администратора?» - не уверен, есть ли аналог для Mac.)

Эрик
источник

Ответы:

3

проблема

Mac OSX запрашивает ваш пароль, потому что XAMPP пытается выполнить команду * nix [sudo](http://en.wikipedia.org/wiki/Sudo). Это можно преодолеть одним из двух способов:

а. Разрешить запуск всех sudo команд без пароля.

б. Разрешить запуск только команды XAMPP без пароля.

Решение

Чтобы использовать одно из этих решений, сделайте следующее:

  1. Откройте Terminal.app (мне нравится нажимать Command+ Space, затем набрать «Terminal.app», затем нажать Enter).
  2. Беги sudo nano /etc/sudoers.
  3. Добавьте следующий текст в файл, где username - это ваше короткое имя пользователя (введите его whoamiв терминал, чтобы получить его):

    • Для варианта а :

    %username ALL=(ALL) NOPASSWD

    • Для варианта б :

    %username ALL= NOPASSWD: /Applications/XAMPP/xamppfiles/xampp

  4. Нажмите Ctrl+ xи сохраните при появлении запроса.

Обратите внимание, что в OSX Mavricks вам, возможно, придется добавить %знак перед именем пользователя (in /etc/sudoers).

neersighted
источник
К вашему сведению, я добавил это: «имя пользователя ALL = NOPASSWD: / Applications / XAMPP / XAMPP \ Control.app»
Эрик
Для etc/sudoerновичков, как и я, будьте осторожны, чтобы не редактировать sudoersфайл с помощью вашего любимого текстового редактора (только что сделал эту ошибку ... потратил последний час, пытаясь исправить). sudoerФайл имеет это комментировало сообщение в верхней части: Этот файл должен быть отредактирован с помощью команды «visudo» как корень (т.е. $ sudo visudo). Отказ от использования 'visudo' может привести к синтаксическим ошибкам или ошибкам разрешения файла, которые мешают запуску sudo.
mhulse
Используйте команду visudo. Он проверит синтаксис файла перед тем, как «зафиксировать» его.
Борисдиакур
8

В потоке Запуск панели управления Xampp без пароля перечислены два возможных решения:

  1. Напишите сценарии, которые запускают и останавливают XAMPP, указав пароль в сценариях.
    Два сценария включены в поток.
  2. Отредактируйте /etc/sudoersфайл, для настройки sudo /Applications/XAMPP/xamppfiles/xampp startкоторого не требуется пароль.
harrymc
источник
Использование скрипта и его экспорт в формате .App было лучшим решением. Спасибо.
Мо
0

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
Если ничего не работает , перезагрузитесь в однопользовательский режим и восстановите файл. Там также должна быть резервная копия в /etcAndroid sudoers~orig.

Деловой Tomcat
источник