RHEL 7 上的初始服务器设置和配置
红帽企业 Linux (RHEL) 是红帽专为企业设计的基于 Linux 的操作系统。本文是有关如何在 RHEL 7 上进行初始服务器设置和配置的实用指南。在本教程中,我们将引导您完成准备 RHEL 7 服务器以供使用的基本基本步骤。
第 1 部分:以 root 身份登录
服务器启动后,您将能够以 root 用户身份登录。 root 用户是 Linux 环境中的管理用户,具有非常广泛的权限。
示例 -
ssh root@your_server_ip
第 2 部分:创建新用户
以 root 身份登录后,建议创建一个具有超级用户权限的备用用户帐户以供日常使用。
示例 -
adduser username
设置用户后,输入超级用户权限:
示例 -
usermod -aG wheel username
第 3 部分:设置基本防火墙
RHEL 7服务器可以使用firewall-cmd工具来设置基本防火墙。在此之前,我们需要安装firewalld软件。
示例 -
yum install firewalld
输出 -
Loaded plugins: langpacks, ulninfo
Resolving Dependencies
--> Running transaction check
---> Package firewalld.noarch 0:0.8.4-1.el7 will be installed
--> Processing Dependency: python3-firewall = 0.8.4-1.el7 for package: firewalld-0.8.4-1.el7.noarch
--> Processing Dependency: firewalld-filesystem = 0.8.4-1.el7 for package: firewalld-0.8.4-1.el7.noarch
--> Processing Dependency: iptables-services >= 1.4.21-28 for package: firewalld-0.8.4-1.el7.noarch
--> Processing Dependency: ipset >= 6.29 for package: firewalld-0.8.4-1.el7.noarch
--> Running transaction check
...
使用以下命令启动firewalld服务 -
示例 -
systemctl start firewalld
为了确保防火墙在启动时处于活动状态,请启用它 -
示例 -
systemctl enable firewalld
第 4 部分:为普通用户启用外部访问
现在我们有了一个具有常规帐户权限的新用户帐户。然而,我们有时可能需要执行行政任务。为了避免注销普通用户并以 root 帐户重新登录,我们可以为普通帐户设置所谓的“超级用户”或 root 权限。
示例 -
visudo
搜索如下所示的行 -
root ALL=(ALL:ALL) ALL
在此行的正下方,复制您在此处看到的格式,仅更改单词“root”以引用您想要授予超级用户权限的新用户 -
username ALL=(ALL:ALL) ALL
第 5 部分:启用基于 SSH 密钥的身份验证
为了提高安全性,最好启用基于 SSH 密钥的身份验证并禁用基于密码的身份验证。
首先,在本地计算机上生成一对 SSH 密钥 -
示例 -
ssh-keygen
输出 -
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:abcdefghijklmnopqrstuvwxyz user@hostname
The key's randomart image is:
+---[RSA 2048]----+
| ..o . |
| . + o |
| . * + o |
| . B + o o |
| o = S . |
| . = = o |
| . o o o |
| . . . |
| |
+----[SHA256]-----+
然后,您可以将公钥复制到 RHEL 7 服务器 -
示例 -
ssh-copy-id username@your_server_ip
然后,要禁用密码身份验证,请使用以下命令打开 SSH 配置文件 -
示例 -
sudo vi /etc/ssh/sshd_config
找到包含PasswordAuthentication 的行,通过删除开头的“#”来取消注释,并将其值更改为“no”。它应该看起来像这样 -
PasswordAuthentication no
保存并关闭文件,然后重新启动 SSH 服务 -
示例 -
systemctl restart sshd
第 6 部分:更新您的服务器
保持服务器更新对于安全性和稳定性至关重要。运行以下命令将系统更新到最新的软件包 -
示例 -
yum update
第 7 节:设置网络时间协议 (NTP)
另一个关键的服务器设置步骤是确保服务器的时钟保持准确。它有助于日志文件分析以及与其他服务器协调任务。您可以通过设置网络时间协议 (NTP) 来完成此操作。
首先,使用 yum 安装 chrony 软件包。
示例 -
sudo yum install chrony
安装后,启动 chronyd 服务并使其在启动时启动 -
示例 -
sudo systemctl start chronyd
sudo systemctl enable chronyd
您可以通过查询 chronyd 服务来验证一切是否正常 -
示例 -
chronyc sources -v
第 8 部分:设置 SELinux
安全增强型 Linux (SELinux) 是 RHEL 的一项安全功能,提供支持访问控制安全策略的机制。默认情况下已启用,建议保持启用状态。
使用以下命令检查 SELinux 的状态 -
示例 -
sestatus
如果未启用,您可以通过编辑 /etc/selinux/config 文件来启用它 -
sudo vi /etc/selinux/config
将 SELINUX= 行更改为 -
SELINUX=enforcing
重新启动服务器以使更改生效。
示例 -
sudo reboot
第 9 节:安装和配置 Web 服务器 (Apache)
许多服务器用于托管网站。 Apache 是用于此目的的流行选择。
使用 yum 安装 Apache -
示例 -
sudo yum install httpd
安装后,您可以启动并启用 Apache -
示例 -
sudo systemctl start httpd
sudo systemctl enable httpd
要测试服务器是否正在运行,请在网络浏览器中输入服务器的 IP 地址 -
http://your_server_ip/
您应该会看到默认的 Apache 测试页面。
第 10 节:安装和设置数据库服务器 (MariaDB)
大多数 Web 应用程序都需要数据库服务器。 MariaDB 是一种流行的开源数据库服务器。
使用 yum 安装 MariaDB -
示例 -
sudo yum install mariadb-server
启动并启用 MariaDB -
示例 -
sudo systemctl start mariadb
sudo systemctl enable mariadb
保护您的 MariaDB 安装 -
示例 -
sudo mysql_secure_installation
这将引导您解决几个问题,您可以在这些问题中设置 root 密码并使数据库服务器更加安全。
结论
您现在应该为 RHEL 7 服务器奠定了坚实的基础。不过,这并没有结束。根据您计划对服务器执行的操作,您可能还需要安装其他软件并对其进行配置以满足您的需求。请记住在设置和配置服务器时始终牢记安全性。