Mac OS X-在不提示输入密码的情况下启动Apache / Mysql


8

我正在运行XAMPP,它带有一个小的“ XAMPP Control”应用程序,通过单击一个按钮,我可以启动和停止Apache和MySQL。当我这样做时,Lion会提示我输入我的管理员密码。有没有办法跳过此步骤?(在Windows上,这有点像我在问“如何在管理员模式下运行XAMPP Control程序?”-不知道Mac是否有类似的软件。)

Answers:


3

问题

Mac OSX要求您输入密码,因为XAMPP试图运行* nix命令[sudo](http://en.wikipedia.org/wiki/Sudo)。这可以通过以下两种方法之一来克服:

一个。允许运行所有 sudo命令而无需输入密码。

b。允许ONLYXAMPP命令,没有密码来运行。

要使用这些解决方案之一,请执行以下操作:

  1. 打开Terminal.app(我喜欢点击Command+ Space,然后输入“ Terminal.app”,然后点击Enter)。
  2. 运行sudo nano /etc/sudoers
  3. 将以下文本追加到文件中,其中username是您的短用户名whoami在终端中键入以获取它):

    • 对于选项a

    %username ALL=(ALL) NOPASSWD

    • 对于选项b

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

  4. Ctrl+ x,然后在出现提示时保存。

请注意,在OSX Mavricks上,您可能必须%在用户名(位于中/etc/sudoers)之前添加一个符号。


仅供参考,我添加了此代码:“用户名ALL = NOPASSWD:/ Applications / XAMPP / XAMPP \ Control.app”
Eric

对于etc/sudoer像我这样的菜鸟,请注意不要sudoers使用您喜欢的文本编辑器来编辑文件(只是犯了这个错误…花费了最后一个小时进行修复)。该sudoer文件的顶部带有此注释消息:必须使用“ visudo”命令作为根文件(即$ sudo visudo)来编辑该文件。不使用'visudo'可能会导致语法或文件权限错误,从而阻止sudo运行。
mhulse 2014年

使用visudo命令。它将在“提交”之前检查文件语法。
borisdiakur's

8

没有密码的启动Xampp控制面板线程列出了两种可能的解决方案:

  1. 编写启动和停止XAMPP的脚本,并在脚本中指定密码。
    这两个脚本包含在线程中。
  2. 编辑/etc/sudoers文件,配置sudo /Applications/XAMPP/xamppfiles/xampp start不需要密码。

使用脚本并将其导出为.App是最佳解决方案。谢谢。
Moe 2014年

0

macOS High Sierra

在High Sierra中,即使不将密码添加到sudoers中,我也无法使新的控制应用程序manager-osx正常工作。

但是,如果将xampp添加到sudoers文件中,则可以在不使用密码的情况下从命令行运行xampp来启动和停止xampp(或仅Apache)。

但是:上面的解决方案给我带来了麻烦,所以这里我做了什么:

编辑/etc/sudoers/文件,很多事情都会出错!如果确实需要,至少在激活了SIP的情况下,sudo visudo
也无法使用macOS vim sudoers(您无法保存)。

更好的方法

在目录中创建一个新文件/etc/sudoers.d。您需要root权限才能创建文件。
像用户名一样命名文件(例如)。无需扩展。
文件名并不重要,但文件名~末尾不能包含点号或(.)。

在这个新文件中,仅创建所需的条目,但不要%在用户名前添加。这对我不起作用,每次拨打电话都sudo花了很长时间才询问密码。

新文件的内容:

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

现在您可以运行

sudo /Applications/XAMPP/xamppfiles/xampp start

在Termin中启动xampp,而无需输入密码。

如果出问题了

删除sudoers或新文件中的所有条目,或用double注释它们,##以便sudo忽略它们。
如果文件完全损坏,请尝试以下操作:https : //astrails.com/blog/2009/09/29/how-to-fix-a-hosed-etc-sudoers-file-on-mac-osx
如果没有其他方法,重新引导到单用户模式并修复文件。还应该有一个/etc名为的备份sudoers~orig

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.