无需管理员权限即可在 Mac 上编辑 hosts 文件

无需管理员权限即可在 Mac 上编辑 hosts 文件

我目前工作的地方每个开发人员都在同一台服务器上编程,我不认为这是一个很好的用法,因为我必须在网络共享上工作,所以它有点慢。

我设置了 BitNami MAMPstack 的副本,并且一切在端口 8080 上运行良好(我的工作站上没有任何管理员权限)。

唯一的问题是:我并不总是在同一个项目上工作,所以我必须在多个本地网络虚拟主机上工作。我想创建指向本地机器的本地虚拟主机。(通常只需编辑主机文件即可完成)。但由于我没有任何管理员权限,因此我无法编辑 /etc/hosts...

我使用 Firefox 进行开发,我看到了一个应该可以这样做的附加组件,但最后它仍然编辑了 hosts 文件并且需要管理员权限......

有什么想法吗?有人知道怎么做吗?

多谢!

答案1

您确实需要与您的支持人员交谈,以便您获得所需的权利,并且不会违反工作场所的服务协议。话虽如此,对于被锁定的人来说,这是一个值得回答的问题。

如果您以单用户模式启动系统(启动时按住 COMMAND-S),您将可以访问文件系统来修改 hosts 文件(您需要从其完整路径调用 CLI 编辑器,如 nano)。请记住,OS X 并不总是使用与其他 Unix 服务相同的信息,但我认为 MAMP 应该这样做。您的管理员可能已禁用单用户模式,但很可能没有。

答案2

与其尝试设置基于名称的虚拟主机,为什么不使用备用地址或端口呢?这将允许您设置本地 Web 服务器,而无需任何管理员权限或处理名称解析。

如果您使用备用端口,您是否将每个虚拟主机绑定到不同的端口(即端口 8000 > project1、8001 > project2、8002 > project3)?

如果您仅在本地系统上使用此功能,那么您可以将虚拟主机绑定到不同的环回地址(即 127.0.0.1:8000 > project1、127.0.0.2:8000 > project2、127.0.0.3:8000 > project3)。

http://httpd.apache.org/docs/2.2/vhosts/ip-based.html

Listen 127.0.0.1:8000
Listen 127.0.0.2:8000
Listen 127.0.0.3:8000

<VirtualHost 127.0.0.1:8000>
  # project 1
  ..
</VirtualHost>
<VirtualHost 127.0.0.2:8000>
  # project 2
  ..
</VirtualHost>
<VirtualHost 127.0.0.3:8000>
  # project 3
  ..
</VirtualHost>

您甚至可以创建另一个虚拟主机,其中包含一个链接到其他虚拟主机的快速索引页,您不必记住要使用哪个 IP /端口。

答案3

您还没有说您已要求支持人员提供管理员权限(或者至少要求他们为您进行更改...)。我会先尝试这样做,为他们提供您请求的业务案例。如果您的请求被拒绝,请将其发上旗杆,直到您得到所需的答案。

相关内容