网站搜索

全新安装 FreeBSD 后要做的 10 件事


本教程将介绍您需要在新安装的 FreeBSD 操作系统上执行的一些初始配置以及有关如何从命令行管理 FreeBSD 的一些基础知识。

要求

  1. FreeBSD 11.1 安装指南

1.更新FreeBSD系统

全新安装操作系统后,每个系统管理员应该执行的第一件事是确保系统已安装最新的安全补丁以及最新版本的内核、包管理器和软件包。

为了更新 FreeBSD,请使用 root 权限在系统中打开控制台并发出以下命令。

freebsd-update fetch
freebsd-update install

要更新“Ports”包管理器和已安装的软件,请运行以下命令。

pkg update
pkg upgrade

2.安装编辑器和Bash

为了简化从命令行管理系统的工作,您应该安装以下软件包:

  • Nano 文本编辑器ee 是 FreeBSD 中的默认文本编辑器。
  • Bourne Again Shell – 如果您想让从 Linux 到 FreeBSD 的过渡更加顺利。
  • Bash Completion – 需要使用 [tab] 键自动完成在控制台中键入的命令。

可以通过发出以下命令来安装所有提供的实用程序。

pkg install nano bash bash-completion

3. FreeBSD 上的安全 SSH

默认情况下,FreeBSD SSH服务不允许root帐户自动执行远程登录。虽然禁止通过 SSH 远程 root 登录的措施主要是为了保护服务和您的系统,但有时您需要通过 SSH 使用 root 进行身份验证。

要更改此行为,请打开 SSH 主配置文件并将 PermitRootLogin 行从 no 更新为 yes,如下面的屏幕截图所示。

nano /etc/ssh/sshd_config 

文件摘录:

PermitRootLogin yes

然后,重新启动 SSH 守护程序以应用更改。

service sshd restart

要测试配置,您可以使用以下语法从 Putty 终端或远程 Linux 机器登录。

[email    [FreeBSD Server IP]

4. FreeBSD SSH无密码登录

要生成新的 SSH 密钥,请发出以下命令。您可以将公共复制到另一个服务器实例,并无需密码即可安全登录远程服务器。

ssh-keygen –t RSA
ssh-copy-id -i /root/.ssh/id_rsa.pub [email 
ssh [email 

5. 在 FreeBSD 上安装和配置 Sudo

Sudo 是一款软件,旨在允许普通用户以超级用户帐户的安全权限执行命令。 FreeBSD 中默认不安装 Sudo 实用程序。

要在 FreeBSD 中安装 sudo,请运行以下命令。

pkg install sudo

为了允许常规系统帐户以 root 权限运行命令,请打开位于 /usr/local/etc/ 目录中的 sudoers 配置文件,通过执行 visudo 进行编辑命令。

浏览文件内容并添加以下行(通常在根行之后):

your_user	ALL=(ALL) ALL

始终使用 visudo 命令来编辑 sudoers 文件。 Visudo 实用程序包含内置功能,可在编辑此文件时检测任何错误。

然后,通过在键盘上按 :wq! 保存文件,使用您授予 root 权限的用户登录,并通过在命令前面附加 sudo 来执行任意命令。

su - yoursuer
sudo pkg update

另一种允许常规帐户拥有 root 权限的方法是将常规用户添加到名为 wheel 的系统组,并通过删除 从 sudoers 文件中取消注释 Wheel 组# 符号位于行的开头。

pw groupmod wheel -M your_user
visudo

将以下行添加到 /usr/local/etc/sudoers 文件中。

%wheel	ALL=(ALL=ALL)	ALL

6. 在 FreeBSD 上管理用户

添加新用户的过程非常简单。只需运行 adduser 命令并按照交互式提示即可完成该过程。

要修改用户帐户的个人信息,请针对用户名运行chpass 命令并更新文件。按 :wq! 键保存使用 vi 编辑器打开的文件。

chpass your_user

要更新用户密码,请运行 passwd 命令

passwd your_user

要更改帐户默认 shell,请首先列出系统中所有现有的 shell,然后执行 chsh 命令,如下所示。

cat /etc/shells
chsh -s /bin/csh your_user
env  #List user environment variables

7. 配置FreeBSD静态IP

常规的 FreeBSD 永久网络设置可以通过编辑 /etc/rc.conf 文件来操作。为了在 FreeBSD 上配置具有静态 IP 地址的网络接口。

首先运行 ifconfig -a 命令显示所有网卡的列表并确定要编辑的接口的名称。

然后,手动编辑 /etc/rc.conf 文件,注释 DHCP 行并添加 NIC 的 IP 设置,如下所示。

#ifconfig_em0="DHCP"
ifconfig_em0="inet 192.168.1.100 netmask 255.255.255.0"
#Default Gateway
defaultrouter="192.168.1.1"

要应用新的网络设置,请发出以下命令。

service netif restart
service routing restart

8. 配置 FreeBSD DNS 网络

可以通过编辑 /etc/resolv.conf 文件来操作 DNS 名称服务器解析器,如下例所示。

nameserver your_first_DNS_server_IP
nameserver your_second_DNS_server_IP
search your_local_domain

要更改计算机名称,请更新 /etc/rc.conf 文件中的主机名变量。

hostname=”freebsdhost”

要在 FreeBSD 上为网络接口添加多个 IP 地址,请在 /etc/rc.conf 文件中添加以下行。

ifconfig_em0_alias0="192.168.1.5 netmask 255.255.255.255"

然后,重新启动网络服务以反映更改。

service netif restart

9. 管理 FreeBSD 服务

服务可以通过服务命令在 FreeBSD 中进行管理。要列出所有系统范围内启用的服务,请发出以下命令。

service -e

要列出位于 /etc/rc.d/ 系统路径中的所有服务脚本,请运行以下命令。

service -l

要在引导初始化过程中启用或禁用 FreeBSD 守护程序,请使用 sysrc 命令。假设您要启用 SSH 服务,请打开 /etc/rc.conf 文件并附加以下行。

sshd_enable=”YES”

或者使用 sysrc 命令来完成同样的事情。

sysrc sshd_enable=”YES”

要在系统范围内禁用服务,请为已禁用的守护进程附加 NO 标志,如下所示。守护进程标志不区分大小写。

sysrc apache24_enable=no

值得一提的是,FreeBSD 上的一些服务需要特别注意。例如,如果您只想禁用 Syslog 守护程序网络套接字,请发出以下命令。

sysrc syslogd_flags="-ss"

重新启动 Syslog 服务以应用更改。

service syslogd restart

要在系统启动时完全禁用Sendmail服务,请执行以下命令或将其添加到/etc/rc.conf文件中:

sysrc sendmail_enable="NO"
sysrc sendmail_submint_enable="NO"
sysrc sendmail_outbound_enable="NO"
sysrc sendmail_msp_queue_enable="NO"

10. 列出网络套接字

为了显示 FreeBSD 中开放端口的列表,请使用 sockstat 命令。

列出 FreeBSD 上的所有 IPv4 网络套接字。

sockstat -4

显示 FreeBSD 上的所有 IPv6 网络套接字。

sockstat -6

您可以组合这两个标志来显示所有网络套接字,如下面的屏幕截图所示。

sockstat -4 -6

列出 FreeBSD 上所有已连接的套接字。

sockstat -c

显示所有处于监听状态的网络套接字和Unix域套接字。

sockstat -l

除了 sockstat 实用程序之外,您还可以运行 netstat 或 lsof 命令来显示系统和网络套接字。

默认情况下,FreeBSD 中未安装 lsof 实用程序。要从 FreeBSD ports 存储库安装它,请发出以下命令。

pkg install lsof

要使用 lsof 命令显示所有 IPv4 和 IPv6 网络套接字,请附加以下标志。

lsof -i4 -i6

为了使用 netstat 实用程序在 FreeBSD 上显示所有处于侦听状态的网络套接字,请发出以下命令。

netstat -an |egrep 'Proto|LISTEN'

或者运行不带 -n 标志的命令,以显示处于侦听状态的打开套接字的名称。

netstat -a |egrep 'Proto|LISTEN'

这些只是您日常管理 FreeBSD 系统时需要了解的一些基本实用程序和命令。