我正在运行 XAMPP,它附带一个小型“XAMPP 控制”应用程序,让我可以通过单击按钮来启动和停止 Apache 和 MySQL。当我这样做时,Lion 会提示我输入管理员密码。有没有办法跳过这一步?(在 Windows 上,这有点像我问“如何在管理员模式下运行 XAMPP 控制程序?”——不确定 Mac 是否有类似的方法。)
答案1
问题
Mac OSX 要求您输入密码,因为微软XAMPP正在尝试运行 *nix 命令[sudo](http://en.wikipedia.org/wiki/Sudo)
。可以通过以下两种方法之一解决此问题:
a. 允许全部 sudo
无需密码即可运行的命令。
b. 允许仅有的这微软XAMPP无需密码即可运行的命令。
解决方案
要使用其中一种解决方案,请执行以下操作:
- 打开终端应用程序(我喜欢按Command+ Space,然后输入“Terminal.app”,然后按Enter)。
- 跑步
sudo nano /etc/sudoers
。 将以下文本附加到文件,其中用户名是您的短用户名(输入
whoami
到终端即可获取):- 供选择A:
%username ALL=(ALL) NOPASSWD
- 供选择b:
%username ALL= NOPASSWD: /Applications/XAMPP/xamppfiles/xampp
按Ctrl+ x,然后在出现提示时保存。
请注意,在 OSX Mavricks 上,您可能必须%在用户名前添加一个符号(在 中/etc/sudoers
)。
答案2
线程无需密码即可启动 Xampp 控制面板列出了两种可能的解决方案:
- 编写启动和停止 XAMPP 的脚本,并在脚本中指定密码。
这两个脚本包含在线程中。 - 编辑
/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
。