问题

问题

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

答案1

问题

Mac OSX 要求您输入密码,因为微软XAMPP正在尝试运行 *nix 命令[sudo](http://en.wikipedia.org/wiki/Sudo)。可以通过以下两种方法之一解决此问题:

a. 允许全部 sudo无需密码即可运行的命令。

b. 允许仅有的微软XAMPP无需密码即可运行的命令。

解决方案

要使用其中一种解决方案,请执行以下操作:

  1. 打开终端应用程序(我喜欢按Command+ Space,然后输入“Terminal.app”,然后按Enter)。
  2. 跑步sudo nano /etc/sudoers
  3. 将以下文本附加到文件,其中用户名是您的短用户名(输入whoami到终端即可获取):

    • 供选择A

    %username ALL=(ALL) NOPASSWD

    • 供选择b

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

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

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

答案2

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

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

答案3

macOS High Sierra

在 High Sierra 中我无法获取新的控制应用程序经理-osx无需输入密码即可工作,即使在 sudoers 中添加它也是如此。

但是,如果将其添加到 sudoers 文件,则可以从命令行运行 xampp 来启动和停止 xampp(或仅限 apache),而无需密码。

但是:上述解决方案给我带来了问题,因此我做了以下操作:

不要编辑/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

在 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

相关内容