本文章已经归档,因此 Apple 将不再对其进行更新。

OS X 服务器:如何编辑配置文件

服务器文稿可能会指导你创建或修改属性列表 (plist) 或其他基于文本的配置文件,以启用 Server Admin Tools 中没有显示的功能。

如果你对编辑配置文件不熟悉,请阅读以下主题。

选取合适的文本编辑器

“文本编辑”(位于“/应用程序/”中)是一款常见的图形文本编辑器。你可以在某些情况下使用它来编辑配置文件,但必须格外小心,确保以系统可使用的格式存储文稿(参阅下文)。另外,与使用命令行文本编辑器相比,使用“文本编辑”来编辑具有严格权限设置的文件也更加困难。

使用命令行文本编辑器可以避免与使用“文本编辑”相关的一些格式和权限隐患。OS X 中包含三个功能最全面的命令行文本编辑器:

  • nano 是一款基于命令行的简单编辑器。它取代了 pico 编辑器,因此关于使用 pico 编辑器的说明也可用于 nano。当你调用 pico 编辑器时,实际上会运行 nano。nano 包含易于遵循的屏幕帮助,因此非常适合上手使用基于命令行的编辑器。

  • vim 是一款兼容 vi 的文本编辑器。它具有许多强大的增强功能,便于搜索和编辑文稿,以及在文稿中四处移动。基本编辑功能简单易学,另外还有很多其他功能可供探索。大多数功能都可以通过使用组合键触发特定行为来访问。在大多数基于 UNIX 的操作系统中,都可以找到 vim 或它所模仿的编辑器 vi。如果你要从命令行进行大量编辑,那么学习使用这款编辑器会是不错的选择,但如果你只是偶尔使用基于命令行的编辑器,那么不用学习也可以勉强完成编辑。

  • Emacs 与 vim 一样,是一款功能极其全面的编辑器,大多数基于 UNIX 的系统都包含这个编辑器。除了编辑功能外,Emacs 还具有高度可自定性,它的模块中提供了额外的功能,让 Emacs 界面不仅能够进行文本编辑,还能完成许多其他操作。在 Emacs 中进行基本编辑比较简单,并且 Emacs 具有非常深入的功能,供专业用户探索。Emacs 与 vim 一样,其中许多不同的功能行为都使用组合键来访问。用户需要记住这些组合键,才能发挥其最大作用,因此 Emacs 对经常使用命令行的用户最为有用。

如果你对使用命令行不熟悉,而且预计也不会经常使用命令行进行编辑,那么 nano 可能是你的最佳选择。如果你有很多时间要使用命令行环境,那么可能值得学习 vim 或 Emacs。它们的设计理念非常不同,因此,请花些时间确定哪个最适合你。

要调用命令行编辑器,请键入编辑器的名称,后跟一个空格,然后键入要打开的文件的名称。如果要创建新文件,请键入文件的名称。以下示例显示了如何使用 nano 打开“文稿”文件夹中名为“myfile.Conf”的新文件:

nano ~/Documents/myFile.conf

根据文件上设置的权限,你可能需要使用 sudo 命令。以下示例显示了如何使用 nano 编辑 ldap.conf 文件,这个文件只能由 root 用户更改:

sudo nano /etc/openldap/ldap.conf

有关使用 nano、vim 或 Emacs 的更多信息,请参阅相应的手册页面。

存储文本文件以供系统使用

编辑文本文件以供 UNIX 实用工具执行时,你需要正确地存储这些文件,以便它们可以由调用程序使用(或执行)。务必要使用纯文本并确保权限正确,这一点尤其重要。

使用纯文本

包括“文本编辑”在内的许多图形文本编辑器在存储文本文件时,所采用的格式比大多数 UNIX 程序所需的格式更复杂。如果你使用“文本编辑”来编辑基于文本的配置文件,请将这些文件存储为纯文本格式,而不是默认的多信息文本格式。在“文本编辑”中更改文本文稿的默认格式时,你有两个选项:

  • 要将所有文稿存储为纯文本,请前往“文本编辑”偏好设置的“新建文稿”面板,然后在“格式”下选择“纯文本”。

  • 要更改单个文稿的格式,请从“格式”菜单中选取“制作纯文本”。

尽管多信息文本格式可能在编辑器中看起来是简单文本,但它实际上包含格式、颜色、字体等一整套规格信息,而大多数 UNIX 程序所需的纯文本文件中不包含这类信息。要查看多信息文本格式文稿中实际包含的内容,请在“文本编辑”中存储一个这样的文件,然后在命令行文本编辑器中打开这个文件。

命令行文本编辑器会自动以纯文本格式存储配置文件。

权限

你必须拥有对配置文件进行读写的权限,并且必须确保编辑后的文件保留其原始权限,否则系统可能无法使用它。

许多系统文件只能由 root 用户编辑。如果你是以普通用户身份登录的,则在“文本编辑”中打开具有受限制权限的配置文件时,你可能会收到一条信息,指出你没有权限存储这个文件。请避免更改文件的权限或以 root 用户身份登录来访问文件。在这种情况下,请以管理员身份登录,并在命令行编辑器中使用 sudo 命令来临时获得 root 权限,如上所示。

编辑属性列表

OS X 中的许多偏好设置和配置文件都使用属性列表 (plist) 来指定应用程序或进程的特性或属性。例如,用户个人文件夹的“资源库/Preferences/”文件夹中的“访达”偏好设置 plist 文件。这个文件名为 com.apple.Finder.plist。plist 的默认命名惯例是在应用程序或进程名称前面加上分发者的逆向 DNS 名称,后跟“.plist”扩展名。

属性列表可以采用二进制或 xml 格式。你可以使用文本编辑器来编辑 xml 属性列表,并可以使用以下工具来编辑任一格式的属性列表。

  • XcodeProperty List Editor 是 OS X 开发者工具,它们提供了用于编辑属性列表的图形界面。Xcode 4 或更高版本可以直接编辑属性列表。早期版本的开发者工具包含 Property List Editor 这一单独的独立应用程序。如果你已经了解了属性列表及相关惯例,这些工具将非常有用。请参阅 http://developer.apple.com/cn/macos 以了解更多信息。

  • defaults 是一个可用于读取和编辑属性列表的命令行工具。当你知道属性列表中需要更改的特定键和值时,使用这个工具会很高效。

  • PlistBuddy 是另一个命令行工具,可用于直接读取和修改属性列表中的值。当你需要更改复杂的 plist 文件时,这个工具使用起来要比 defaults 灵活。

有关使用 defaults 和 PlistBuddy 的信息,请参阅相应的手册页面。

进一步了解

在编辑之前备份文件

每次编辑配置文件或属性列表之前,最好先备份文件。这样一来,如果不小心错误地配置了文件,你可以将它替换为能够正常工作的副本。由于许多配置文件位于你具有读取访问权限但没有写入访问权限的位置,因此你通常可以使用“访达”将文件拷贝到其他位置,也可以使用 sudo 命令将文件拷贝到相应位置。例如,以下命令将为 syslog.conf 文件创建名为 syslog.conf.original 的备份副本。

sudo cp /etc/syslog.conf /etc/syslog.conf.original

以下两个命令会将配置错误的 syslog.conf 文件移到一边,并将它替换为上面创建的备份副本。

sudo mv /etc/syslog.conf /etc/syslog.conf.bad

sudo cp /etc/syslog.conf.original /etc/syslog.conf

发布日期: