如何编辑配置文件?

如何编辑配置文件?

我是 Ubuntu 新手。有人能告诉我如何编辑配置文件吗?

这是在 Ubuntu 18.04 LTS 上。提前致谢。

答案1

配置文件通常归 拥有root。例如:

$ ll /etc/default/grub

-rw-r--r-- 1 root root 6801 Jul 18 13:26 /etc/default/grub

 ^^ ^  ^
 || |  +-- Users can only read
 || +----- Members of the group can only read
 |+------- The owner can write
 +-------- The owner can read

为了让用户(您自己)编辑,/etc/grub/default您需要使用sudo权限。因此而不是使用

gedit /etc/default/grub

您必须使用

sudo -H gedit /etc/default/grub

此时系统将提示您输入密码。

笔记:今天相关问题:Grub文件修改后无法保存

答案2

系统范围的配置文件通常位于 中/etc,由 root 拥有,您需要提升权限才能编辑它们。通常以 root 身份运行文本编辑器sudo,此处的其他答案显示了如何操作。但仅仅因为只有 root 才能更改文件并不意味着你必须以 root 身份运行文本编辑器你可以使用sudoedit,记录在与以下手册页相同sudo

例如,编辑/etc/hosts

sudoedit /etc/hosts

其工作方式如下sudoedit

  1. 检查您是否最近sudo从您所在的终端进行过身份验证(如sudo执行),如果没有,则会提示您输入密码。
  2. 检查是否可以正常编辑文件,无需sudoeditsudo。 如果是,它会给出错误消息并退出。 (在这种情况下,您应该按照 DK Bose 所说的那样正常编辑文件,假设这样做是有意义的。
  3. 制作临时副本文件,在文本编辑器中打开该文件,然后等待编辑器退出。
  4. 检查文件是否已更改,如果已更改,则更新原始文件。

sudoedit与您选择的文本编辑器兼容。使用以下方式编辑nano

VISUAL=nano sudoedit /etc/hosts

它甚至可以与 Gedit 等 GUI 编辑器一起使用:

VISUAL=gedit sudoedit /etc/hosts

此外,因为编辑器运行为,它使用你的配置,因此如果你自定义了编辑器的行为,这些自定义内容就会被使用。其他尝试此操作的方法往往不太有效

您可以设置VISUAL环境变量持续为您的用户制作sudoedit以及其他需要选择编辑器的各种命令,使用您喜欢的编辑器。如果您想设置编辑器只是对于sudoedit(和visudo)但不适用于其他程序,请设置SUDO_EDITOR而不是VISUAL

因为检查两个文件是否相同并将一个文件复制到另一个文件的逻辑比文本编辑器的完整逻辑更简单 - 尤其是比 Gedit 等图形程序的完整操作更简单 - 运行sudoedit 可能被认为更安全具体的感觉它与一个较小的攻击面。以 root 身份运行较少的东西是件好事。但使用的主要原因sudoedit是方便。

由于sudoedit它如此有用和多功能,它的好处有时被夸大了。它是一个很好的工具,但你不需要使用它,并且使用它代替其他方法不会影响任何安全性决定性方式。如果您以破坏事物的方式更改系统范围的配置文件,它们仍然会破坏!这样说似乎很明显,但有时人们试图让用户有权编辑 root 拥有的文件,同时sudoedit仍然试图通过技术措施以某种方式限制这些用户。这通常是不切实际的。

答案3

您的主文件夹及其子文件夹中还包含配置文件,例如.配置文件夹。前面的“.”表示文件夹(或文件)通常隐藏。某些配置文件也可能直接位于您的主文件夹中。如果您使用文件管理器,Control+H将隐藏/显示此类文件/文件夹。

此类文件可以使用纯文本编辑器编辑,该编辑器具有方便的 GUI(图形用户界面),类似于 Windows 中的记事本。编辑此类文件应该不是需要使用须藤因为你是这些文件的所有者。确实使用须藤很少(如果有的话)需要对主文件夹中的文件进行操作。

一些纯文本编辑器的示例,其中大多数提供语法高亮、括号匹配等功能:

  • Ubuntu 中的 gedit
  • Xubuntu 中的鼠标垫
  • Lubuntu 18.04 中的 leafpad
  • Lubuntu 19.04+ 中的 featherpad
  • Kubuntu 中的 kate 或 kwrite ...

您也可以使用 LibreOffice Writer,但请确保将文件保存为纯文本,而不是 LibreOffice Writer 的默认开放文档格式。

不过,大多数情况下,您不需要直接编辑配置文件。(这就是为什么这些文件大多位于隐藏文件夹中的原因。)首选方法是使用您使用的任何应用程序的 GUI。这样,您就可以避免犯任何“语法”错误。

答案4

正如 WinEunuuchs2Unix 所提到的,大多数配置文件都归 root 所有,因此需要在您选择的编辑器前输入“sudo”。我使用“vim”来编辑文件,因此在命令行中输入

sudo vim (filename)

或者如果你使用 Ubuntu 默认自带的 nano

sudo nano (filename)

您可以选择许多编辑器:vim、emacs、gedit、nano 等等。

sudo visudo此外,正如我在上面的评论中提到的,如果编辑 sudoers 文件以及添加 cron 条目,建议单独运行crontab -e。这两个命令基本上都会默认打开 vim 编辑器来编辑文件,因此我建议熟悉 vim,同时也探索其他编辑器。阅读配置文件顶部的注释或说明非常重要,以查看系统是否建议不要直接编辑文件。

相关内容