如何开始使用FreeBSD

来自菜鸟教程
跳转至:导航、​搜索

介绍

FreeBSD 是一个安全、高性能的操作系统,适用于各种服务器角色。 在本指南中,我们将介绍一些有关如何开始使用 FreeBSD 服务器的基本信息。

本指南旨在为 FreeBSD 服务器提供一般设置,但请注意,不同版本的 FreeBSD 可能具有不同的功能。 根据您的服务器运行的 FreeBSD 版本,此处提供的说明可能无法按描述工作。

使用 SSH 登录

开始配置 FreeBSD 服务器所需的第一步是登录。

在 DigitalOcean 上,您必须在创建 FreeBSD 服务器时提供公共 SSH 密钥。 此密钥被添加到服务器实例,允许您使用关联的私钥从本地计算机安全登录。 要了解有关如何在 DigitalOcean 上通过 FreeBSD 使用 SSH 密钥的更多信息, 请遵循本指南

要登录到您的服务器,您需要知道您的服务器的公共 IP 地址。 对于 DigitalOcean Droplets,您可以在控制面板中找到此信息。 通过 DigitalOcean 创建的 FreeBSD 服务器上可用的主要用户帐户称为 freebsd。 此用户帐户配置有 sudo 权限,允许您完成管理任务。

要登录到您的 FreeBSD 服务器,请使用 ssh 命令。 您需要指定 freebsd 用户帐户以及服务器的公共 IP 地址:

ssh freebsd@your_server_ip

您应该会自动进行身份验证并登录。 您将进入命令行界面。

将默认 Shell 更改为 tcsh(可选)

如果您登录到运行 FreeBSD 11 的 DigitalOcean Droplet,您将看到一个非常简单的命令提示符,如下所示:


如果您是使用 FreeBSD 的新手,您可能会觉得这个提示有点陌生。 让我们弄清楚我们在什么样的环境中工作。 运行以下命令查看 freebsd 用户的默认 shell 是什么:

echo $SHELL
Output/bin/sh

在此输出中,您可以看到 freebsd 用户的默认 shell 是 sh(也称为 Bourne shell)。 在 Linux 系统上,sh 通常是 bash 的别名,它是 Bourne shell 的免费软件替代品,包括一些额外的功能。 然而,在 FreeBSD 中,它实际上是经典的 sh shell 程序,而不是别名。

FreeBSD 的默认命令行 shell 是 tcsh,但运行 FreeBSD 的 DigitalOcean Droplets 默认使用 sh。 如果您想将 tcsh 设置为 freebsd 用户的默认 shell,请运行以下命令:

sudo chsh -s /bin/tcsh freebsd

下次登录服务器时,会看到 tcsh 提示,而不是 sh 提示。 您可以通过运行以下命令为当前会话调用 tcsh shell:

tcsh

您的提示应立即更改为以下内容:


如果您想返回 Bourne shell,可以使用 sh 命令。

尽管 tcsh 通常是 FreeBSD 系统的默认 shell,但它有一些用户倾向于自行调整的默认设置,例如默认分页器和编辑器,以及某些键的行为。 为了说明如何更改这些默认值,我们将修改 shell 的配置文件。

文件系统中已经包含一个示例配置文件。 将其复制到您的主目录中,以便您可以根据需要对其进行修改:

cp /usr/share/skel/dot.cshrc ~/.cshrc

将文件复制到主目录后,您可以对其进行编辑。 vi 编辑器默认包含在系统中,但如果您想要更简单的编辑器,您可以尝试 ee 编辑器:

ee ~/.cshrc

在浏览此文件时,您可以决定可能要修改的条目。 特别是,您可能希望更改 setenv 条目以具有您可能更熟悉的特定默认值。

~/.cshrc

. . .

setenv  EDITOR  vi
setenv  PAGER   more

. . .

如果您不熟悉 vi 编辑器并且想要更基本的编辑环境,您可以将 EDITOR 环境变量更改为 ee 之类的变量。 大多数用户都希望将 PAGER 更改为 less 而不是 more。 这将允许您在不退出寻呼机的情况下在手册页中上下滚动:

~/.cshrc

. . .
setenv  EDITOR  ee
setenv  PAGER   less
. . .

您可能想要添加到此配置文件的另一件事是一段代码,它将正确映射 tcsh 会话中的一些键盘键。 在文件的底部,添加以下代码。 如果没有这些行,DELETE 和其他键将无法正常工作:

~/.cshrc

. . .
if ($term == "xterm" || $term == "vt100" \
            || $term == "vt102" || $term !~ "con*") then
          # bind keypad keys for console, vt100, vt102, xterm
          bindkey "\e[1~" beginning-of-line  # Home
          bindkey "\e[7~" beginning-of-line  # Home rxvt
          bindkey "\e[2~" overwrite-mode     # Ins
          bindkey "\e[3~" delete-char        # Delete
          bindkey "\e[4~" end-of-line        # End
          bindkey "\e[8~" end-of-line        # End rxvt
endif

完成后,按 CTRL+C 保存并关闭文件,键入 exit,然后按 ENTER。 如果您改为使用 vi 编辑文件,请按 ESC,键入 :wq,然后按 ENTER 保存并关闭文件。

要使您的当前会话立即反映这些更改,请获取配置文件:

source ~/.cshrc

这可能不会立即显现出来,但 HomeInsertDeleteEnd 键现在将按预期工作。

此时需要注意的一件事是,如果您使用 tcshcsh shell,则无论何时进行任何可能影响的更改,都需要执行 rehash 命令可执行路径。 在安装或卸载应用程序时可能会发生这种情况的常见情况。

安装程序后,您可能需要键入以下内容,以便 shell 找到新的应用程序文件:

rehash

这样,tcsh shell 不仅被设置为您的 freebsd 用户的默认值,而且更实用。

将 bash 设置为默认 Shell(可选)

如果您更熟悉 bash shell 并希望将其用作默认 shell,则可以通过几个简短的步骤进行调整。

笔记: bash is not supported on FreeBSD 11.1, and the instructions in this section will not work for that particular version.


首先,您需要通过键入以下命令安装 bash shell:

sudo pkg install bash

系统将提示您确认是否要下载该软件包。 通过按 y 然后按 ENTER 来执行此操作。

安装完成后,可以通过运行以下命令启动bash

bash

这会将您的 shell 提示更新为如下所示:


要将 freebsd 的默认 shell 更改为 bash,您可以键入:

sudo chsh -s /usr/local/bin/bash freebsd

下次登录时,将自动启动 bash shell,而不是当前的默认值。

如果您希望更改 bash shell 中的默认分页器或编辑器,可以在名为 ~/.bash_profile 的文件中进行。 默认情况下不存在,因此您需要创建它:

ee ~/.bash_profile

在内部,要更改默认寻呼机或编辑器,请添加您的选择,如下所示:

~/.bash_profile

export PAGER=less
export EDITOR=ee

完成后按 CTRL+C,键入 exit,然后按 ENTER 保存并关闭文件。

要立即实施您的更改,请 source 文件:

source ~/.bash_profile

如果您想对 shell 环境进行进一步更改,例如设置特殊命令别名或设置环境变量,您可以重新打开该文件并将新更改添加到其中。

设置 Root 密码(可选)

默认情况下,FreeBSD 服务器不允许 ssh 使用密码登录 root 帐户。 虽然公钥认证可以工作,但在 DigitalOcean 上,此策略已被补充以告诉用户使用 freebsd 帐户登录。

由于 root 用户帐户无法通过 SSH 访问,因此设置 root 帐户密码相对安全。 虽然您将无法使用此密码通过 SSH 登录,但您可以使用此密码通过 DigitalOcean Web 控制台以 root 身份登录。

要设置 root 密码,请键入:

sudo passwd

系统将要求您选择并确认 root 帐户的密码。 如上所述,您仍然无法将其用于 SSH 身份验证(这是一个安全决定),但您将能够使用它通过 DigitalOcean 控制台登录。

为此,请单击 Droplet 页面右上角的 Console 按钮以打开 Web 控制台:

如果您选择 而不是 来设置密码并且您被锁定在服务器之外(例如,如果您不小心设置了过于严格的防火墙规则),您可以稍后通过将 Droplet 引导到单用户模式来设置密码。 我们有一个指南,向您展示如何在 此处 执行此操作。

结论

到目前为止,您应该知道如何登录 FreeBSD 服务器以及如何设置 bash shell 环境。 下一步是熟悉一些 FreeBSD 基础知识以及它与基于 Linux 的发行版的不同之处。

一旦您熟悉了 FreeBSD 并根据您的需要对其进行配置,您将能够更好地利用它的灵活性、安全性和性能。