如何编辑 /etc/hosts 文件?

Jim*_*Jim 60 permissions

我是 Linux 新手,我只下载了 Ubuntu 12.04 LTS。我找到了一个地方,向我展示了如何加入我的 Windows Active Directory。它让我在“主机”中添加了几行,但我无法编辑该文件,因为我没有权限。我不是业主。我将 chmod 与它 rwx 一起使用,但它仍然不允许编辑文件。你如何更改权限?谢谢

Jor*_*ren 66

最简单的方法(大多数 GUI)是使用gedit. 您也可以使用您喜欢的任何其他编辑器(例如nanovi)。只需使用 root 运行编辑器就可以了sudo!您需要传递 1 个参数:要编辑的文件的路径(在本例中为/etc/hosts)。

完整命令:

sudo -i gedit /etc/hosts
Run Code Online (Sandbox Code Playgroud)

  • 或者你可以使用 `sudo nano /etc/hosts` 或 `sudo vim /etc/hosts`,因为不是每个人都有 GUI。 (8认同)

Rad*_*anu 11

成为系统文件/目录的所有者不是一个好主意!因此,如果您要编辑系统文件,则不必是该文件的所有者。只需在终端中使用:

sudo -i            # to grant access as root
gedit file_name    # or /path/to/file/file_name
Run Code Online (Sandbox Code Playgroud)

完成文件编辑后,在终端中按Ctrl+D退出 root 会话。

但是要成为文件/目录的所有者,请使用chown. 例如:

须藤 chown your_username file_or_directory

检查man chownman chmod了解更多信息。

  • 我认为 chowning /etc/hosts 到用户帐户不是一个好主意! (12认同)
  • 我认为这个答案有点 [埋葬了 lede](https://en.oxforddictionaries.com/definition/us/bury_the_lede)。`chown`ing `/etc/hosts` 与解决 OP 问题的其他方法相比没有任何优势,尽管可以将 OP 的问题理解为是关于如何更改文件所有权而不是如何编辑 `hosts`,但这在这种情况下,这种 [字面解释](https://meta.stackexchange.com/a/66378) 不是很有帮助。虽然它会改变你的答案的信息,但我建议翻转信息的顺序:首先是 `sudo -i`,然后再考虑 `chown`。 (2认同)

Fah*_*suf 7

你应该使用sudo -i (nano for text-based or gedit for graphical) /etc/hosts. 默认情况下,普通用户不能编辑 hosts 文件。更改主机的所有权不是正确的做法。