本教程将介绍在新安装的FreeBSD操作系统上执行的一些初始配置,以及如何从命令行管理FreeBSD的一些基础知识。
要求
更新FreeBSD系统
每个系统管理员在全新安装操作系统后应该执行的第一件事是确保系统是最新的最新安全补丁以及最新版本的内核,软件包管理器和软件包。
为了更新FreeBSD,请使用root权限在系统中打开控制台,并发出以下命令。
# freebsd-update fetch # freebsd-update install
更新FreeBSD系统
要更新“ 端口 ”包管理器和已安装的软件,请运行以下命令。
# pkg update # pkg upgrade
更新FreeBSD软件包
升级FreeBSD软件包
2.安装编辑器和Bash
为了简化从命令行管理系统的作业,您应该安装以下软件包:
- Nano文本编辑器 - ee是FreeBSD中的默认文本编辑器。
- Bourne Again Shell - 如果你想从Linux到FreeBSD的过渡更顺利。
- Bash完成 - 需要使用
[tab]
键自动完成在控制台中键入的命令。
所有提供的实用程序可以通过发出以下命令来安装。
# pkg install nano bash bash_completion
在FreeBSD上安装Editors和Bash
3.在FreeBSD上安全SSH
默认情况下, FreeBSD SSH服务将不允许root帐户自动执行远程登录。 虽然不允许通过SSH测量进行远程root登录主要是为了保护服务和系统而设计的,但有时您需要通过SSH通过root身份验证。
要更改此行为,请打开SSH主配置文件,并将PermitRootLogin行从no
更改为yes
如下面的屏幕截图所示。
# nano /etc/ssh/sshd_config
文件摘录:
PermitRootLogin yes
在FreeBSD上安全SSH
之后,重新启动SSH守护程序以应用更改。
# service sshd restart
要测试配置,您可以使用以下语法从Putty Terminal或远程Linux机器登录。
# [email protected] [FreeBSD Server IP]
FreeBSD SSH密码登录
要生成新的SSH密钥,请执行以下命令。 您可以将公众复制到另一个服务器实例,并安全地登录到远程服务器,而无需密码。
# ssh-keygen –t RSA # ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] # ssh [email protected]
在FreeBSD上生成SSH密钥
FreeBSD SSH无密码登录
5.在FreeBSD上安装和配置Sudo
Sudo是一种软件,旨在允许普通用户使用超级用户帐户的安全权限执行命令。 默认情况下,FreeBSD中没有安装Sudo实用程序。
要在FreeBSD中安装sudo,请运行以下命令。
# pkg install sudo
在FreeBSD上安装Sudo
为了允许常规系统帐户使用root权限运行命令,请打开位于/ usr / local / etc /目录中的sudoers配置文件,以通过执行visudo命令进行编辑。
浏览文件的内容并添加以下行,通常在根行之后:
your_user ALL=(ALL) ALL
启用用户的Sudo访问
始终使用visudo命令来编辑sudoers文件。 Visudo实用程序包含内置功能,可在编辑此文件时检测任何错误。
之后,按:wq!
保存文件:wq!
在您的键盘上,与您授予root权限的用户登录,并通过在命令前面附加sudo来执行任意命令。
# su - yoursuer $ sudo pkg update
Sudo用户登录
可以使用以允许具有根权力的常规帐户的另一种方法是将常规用户添加到被称为轮的系统组,并通过删除行开头的#
号从sudoers文件取消注释轮组。
# pw groupmod wheel -M your_user # visudo
将以下行添加到/ usr / local / etc / sudoers文件中。
%wheel ALL=(ALL=ALL) ALL
允许用户访问Sudo
6.在FreeBSD上管理用户
添加新用户的过程非常简单。 只需运行adduser命令,然后按照交互式提示进行操作即可完成此过程。
为了修改用户帐户的个人信息,请针对用户名运行chpass命令并更新该文件。 使用vi编辑器保存文件,按:wq!
键。
# chpass your_user
更改FreeBSD上的用户信息
要更新用户密码,请运行passwd命令 。
# passwd your_user
要更改帐户默认shell,首先列出系统中的所有现有shell,然后执行chsh命令 ,如下所示。
# cat /etc/shells # chsh -s /bin/csh your_user # env #List user environment variables
列出FreeBSD Shells
更改FreeBSD Shell
7.配置FreeBSD静态IP
可以通过编辑/etc/rc.conf文件来操作常规的FreeBSD永久网络设置。 为了在FreeBSD上配置静态IP地址的网络接口。
首先运行ifconfig -a命令显示所有NIC的列表,并标识要编辑的接口的名称。
然后,手动编辑/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"
设置FreeBSD静态IP地址
要应用新的网络设置,请执行以下命令。
# service netif restart # service routing restart
8.配置FreeBSD DNS网络
DNSNameservers解析器可以通过编辑/etc/resolv.conf文件进行操作,如以下示例所示。
nameserver your_first_DNS_server_IP nameserver your_second_DNS_server_IP search your_local_domain
在FreeBSD中设置DNS
要更改您的计算机名称,请从/etc/rc.conf文件更新主机名变量。
hostname=”freebsdhost”
要在FreeBSD上为网络接口添加多个IP地址,请在/etc/rc.conf文件中添加以下行。
ifconfig_em0_alias0="192.168.1.5 netmask 255.255.255.255"
FreeBSD上有多个IP地址
之后,重新启动网络服务以反映更改。
# service netif restart
9.管理FreeBSD服务
服务可以通过服务命令在FreeBSD中进行管理。 要列出所有系统范围的启用服务,请发出以下命令。
# service -e
列出FreeBSD服务
要列出位于/etc/rc.d/系统路径中的所有服务脚本,请运行以下命令。
# service -l
列出FreeBSD服务脚本
要在引导初始化过程中启用或禁用FreeBSD守护程序,请使用sysrc命令 。 假设您要启用SSH服务,请打开/etc/rc.conf文件并附加以下行。
sshd_enable=”YES”
或使用sysrc命令做同样的事情。
# sysrc sshd_enable=”YES”
启用和禁用FreeBSD上的服务
要禁用系统范围的服务,请附加如下所示的禁用守护程序的NO
标志。 守护程序标志不区分大小写。
# sysrc apache24_enable=no
在FreeBSD中禁用服务
值得一提的是FreeBSD上的一些服务需要特别注意。 例如,如果要仅禁用Syslog守护程序网络套接字,请发出以下命令。
# sysrc syslogd_flags="-ss"
重新启动Syslog服务以应用更改。
# service syslogd restart
禁用FreeBSD上的Syslog
要在系统启动时完全禁用Sendmail服务,请执行以下命令或将它们添加到/etc/rc.conf文件中:
sysrc sendmail_enable="NO" sysrc sendmail_submint_enable="NO" sysrc sendmail_outbound_enable="NO" sysrc sendmail_msp_queue_enable="NO"
列出网络socket
为了在FreeBSD中显示打开的端口列表,使用sockstat命令。
列出FreeBSD上的所有IPv4网络套接字。
# sockstat -4
列出FreeBSD上的Ipv4端口
显示FreeBSD上的所有IPv6网络套接字。
# sockstat -6
列出FreeBSD上的Ipv6端口
您可以组合两个标志来显示所有网络套接字,如下图所示。
# sockstat -4 -6
列出FreeBSD开放端口
列出FreeBSD上的所有连接的socket。
# sockstat -c
在FreeBSD上列出已连接的套接字
显示监听状态下的所有网络套接字和Unix域套接字。
# sockstat -l
在FreeBSD上列出Listening Sockets
除了sockstat实用程序,您还可以运行netstat或lsof命令来显示系统和网络套接字。
默认情况下,FreeBSD中没有安装lsof实用程序 。 要从FreeBSD ports存储库安装它,请执行以下命令。
# pkg install lsof
要使用lsof命令显示所有IPv4和IPv6网络套接字,请附加以下标志。
# lsof -i4 -i6
使用lsof命令列出套接字
为了使用netstat实用程序在FreeBSD上显示监听状态下的所有网络套接字,请执行以下命令。
# netstat -an |egrep 'Proto|LISTEN'
或者运行没有-n
标志的命令,以便在监听状态下显示打开的套接字的名称。
# netstat -a |egrep 'Proto|LISTEN'
使用Netstat列出Listening Sockets
这些只是您需要知道的几个基本的实用程序和命令,以便每天管理一个FreeBSD系统。