Я запускаю 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 .
