CentOS入门宝典:从零到一构建你的Linux服务器帝国

news/2024/12/22 20:08:30/

目录

引言 

一、CentOS简介与版本选择

1.1 CentOS是什么?

1.2 版本选择

二、安装CentOS

2.1 准备安装介质

2.2 安装过程

三、基础配置与优化

3.1 更新系统

3.2 配置防火墙

3.3 配置SELinux

3.4 系统监控与日志

四、网络配置与管理

4.1 配置静态IP

4.2 网络调试与诊断

五、服务管理

六、文件系统与权限管理

6.1 文件系统结构

6.2 文件权限与所有权

七、软件包管理

7.1 YUM/DNF

八、用户与组管理

九、安全加固


引言 

在这个数字化时代,服务器作为支撑互联网应用与服务的基石,其重要性不言而喻。而CentOS,作为一款稳定、开源的Linux发行版,因其卓越的性能和广泛的应用场景,成为了众多开发者和系统管理员的首选。本文将带你深入CentOS的世界,从安装配置到日常运维,一步步打造你的Linux服务器帝国。

一、CentOS简介与版本选择

1.1 CentOS是什么?

CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux(RHEL)源代码的开源操作系统,由社区驱动维护。它继承了RHEL的稳定性和安全性,同时提供免费使用和自由修改的特性,广泛应用于企业级服务器、云计算平台和科学计算等领域。

1.2 版本选择

CentOS目前主要有两大分支:CentOS Stream和CentOS Linux(已停止更新,但旧版本仍被广泛使用)。对于初学者而言,推荐关注CentOS Stream,因为它代表了最新的技术和包更新,是RHEL未来的预览版。然而,为了稳定性和兼容性考虑,本文也会涉及CentOS 7/8(已停止更新,但教程具有参考价值)的内容。

二、安装CentOS

2.1 准备安装介质
  • 下载ISO镜像:访问CentOS官网下载对应版本的ISO镜像文件。
  • 制作启动盘:使用如Rufus(Windows)、Etcher(跨平台)等工具将ISO文件写入U盘或DVD。
2.2 安装过程
  1. 启动安装:将制作好的启动盘插入电脑,重启并选择从该设备启动。
  2. 语言选择:选择你的语言,然后点击“继续”。
  3. 安装信息配置
    • 时间和日期:设置正确的时区。
    • 键盘布局:根据你的键盘类型选择。
    • 安装源:确认或修改安装源(如网络安装或本地介质)。
    • 软件选择:初学者可选择“带GUI的服务器”或“最小安装”,根据需要自定义安装的软件包。
    • 安装位置:选择磁盘并配置分区(建议使用LVM,便于管理)。
  4. 网络和主机名:配置网络连接和设置主机名。
  5. 开始安装:点击“开始安装”,安装过程中可设置root密码和创建新用户。
  6. 重启并登录:安装完成后,重启系统并使用设置的用户名和密码登录。

三、基础配置与优化

3.1 更新系统

安装完成后,首先更新系统和所有已安装的包以获取最新的安全补丁和功能。

sudo yum update -y  # CentOS 7/8  
sudo dnf update -y  # CentOS Stream
3.2 配置防火墙

CentOS默认使用firewalld作为防火墙管理工具。

  • 启动防火墙
    sudo systemctl start firewalld  
    sudo systemctl enable firewalld

  • 开放端口

    sudo firewall-cmd --permanent --zone=public --add-port=80/tcp  
    sudo firewall-cmd --reload

    3.3 配置SELinux

  • SELinux(Security-Enhanced Linux)提供额外的安全层。

  • 查看SELinux状态
    getenforce

  • 临时关闭SELinux(不推荐长期关闭):
    sudo setenforce 0

  • 临时关闭SELinux(不推荐长期关闭):
    SELINUX=disabled

3.4 系统监控与日志
  • 查看系统日志:使用journalctl(CentOS 7.x需安装systemd-journal包),dmesg等命令。
  • 安装监控工具:如htopiftopnmon等,便于实时监控系统资源使用情况。

四、网络配置与管理

4.1 配置静态IP

编辑网络配置文件(以CentOS 7为例,CentOS 8及以后版本可能有所不同):

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192  # ens192为你的网络接口名

修改或添加以下内容:

BOOTPROTO=static  
ONBOOT=yes  
IPADDR=192.168.1.100  
NETMASK=255.255.255.0  
GATEWAY=192.168.1.1  
DNS1=8.8.8.8  
DNS2=8.8.4.4

重启网络服务:

sudo systemctl restart network
4.2 网络调试与诊断
  • ping命令:测试网络连接。
  • traceroute/tracepath:追踪数据包路由路径。
  • netstat/ss:查看网络连接、路由表、接口统计等信息。

五、服务管理

CentOS使用systemd作为初始化系统和系统服务管理器。

启动服务

sudo systemctl start <服务名>

停止服务

sudo systemctl stop <服务名>

设置服务开机自启

sudo systemctl enable <服务名>

禁止服务开机自启

sudo systemctl disable <服务名>

查看服务状态

sudo systemctl status <服务名>

六、文件系统与权限管理

6.1 文件系统结构
  • /:根目录,所有文件和目录的起点。
  • /bin:存放基本命令的二进制文件。
  • /etc:存放系统配置文件。
  • /home:普通用户的家目录。
  • /var:存放经常变化的文件,如日志文件。
6.2 文件权限与所有权
  • 查看权限:使用ls -l命令。
  • 修改权限:使用chmod命令。
  • 修改所有权:使用chown命令。

七、软件包管理

7.1 YUM/DNF

搜索软件包

sudo yum search <关键字>  # CentOS 7  
sudo dnf search <关键字>  # CentOS Stream/8

安装软件包

sudo yum install <包名>  # CentOS 7  
sudo dnf install <包名>  # CentOS Stream/8

更新软件包

sudo yum update <包名>  # CentOS 7  
sudo dnf update <包名>  # CentOS Stream/8

卸载软件包

sudo yum remove <包名>  # CentOS 7  
sudo dnf remove <包名>  # CentOS Stream/8

八、用户与组管理

创建用户

sudo useradd <用户名>  
sudo passwd <用户名>  # 设置密码

创建组

sudo groupadd <组名>

添加用户到组

sudo usermod -aG <组名> <用户名>

九、安全加固

  • 使用强密码:定期更换用户密码,并确保密码复杂性。
  • 限制root登录:禁用root远程登录,使用sudo管理权限。
  • 安装安全更新:定期更新系统和软件包。
  • 配置SSH:禁用root登录,限制登录IP,使用密钥认证等。

【9月截稿 | 长篇优惠 | EI稳定】2024年计算机与信息安全国际会议(WCCIS 2024)_艾思科蓝_学术一站式服务平台

  更多学术会议请看 学术会议-学术交流征稿-学术会议在线-艾思科蓝


http://www.ppmy.cn/news/1526907.html

相关文章

解决LineageOS提示网络受限问题

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 问题原因 由于 LineageOS 源码里默认是使用 google captive连接验证服务&#xff0c;所以国内会一直提示网络受限&#xff0c;但是实际上是可以访问网络的。 …

nginx安装及vue项目部署

安装及简单配置 在usr/local下建好nginx文件夹&#xff0c;下载好nginx-1.26.2.tar.gz压缩文件.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel pcre-devel gcc、gcc-c # 主要用来进行编译相关使用 openssl、ope…

MAVEN如何导入项目

工作中经常需要导入他人的项目&#xff0c;那么如何导入呢&#xff1f; 1&#xff0c; 选择Maven面板&#xff0c;点 2&#xff0c;选中对应项目的pom.xml&#xff0c;双击即可 3&#xff0c;如果没有maven面板&#xff0c;可以选择view->Appearnce->Tool Window Bars…

C#使用TCP-S7协议读写西门子PLC(三)

接上篇 C#使用TCP-S7协议读写西门子PLC(二)-CSDN博客 这里我们进行封装读写西门子PLC的S7协议命令以及连接西门子PLC并两次握手 新建部分类文件SiemensS7ProtocolUtil.ReadWrite.cs 主要方法&#xff1a; 连接西门子PLC并发送两次握手。两次握手成功后&#xff0c;才真正连…

Invoke-Maldaptive:一款针对LDAP SearchFilter的安全分析工具

关于Invoke-Maldaptive MaLDAPtive 是一款针对LDAP SearchFilter的安全分析工具&#xff0c;旨在用于对LDAP SearchFilter 执行安全解析、混淆、反混淆和安全检测。 其基础是 100% 定制的 C# LDAP 解析器&#xff0c;该解析器处理标记化和语法树解析以及众多自定义属性&#x…

【HarmonyOS】Beta最新对外版本IDE下载和环境配置

【HarmonyOS】Beta最新对外版本IDE下载和环境配置 前言 目前华为HarmonyOS的系统版本已经从Develop Beta升级为Beta预览版&#xff0c;全面开放。再也不需要白名单限制&#xff0c;才能下载使用最新的IDE和预览最新的开放文档了。 IDE下载和安装 Beta IDE下载地址 1.根据你…

matlab在控制台输出某个变量的值

在 MATLAB 中&#xff0c;要在控制台&#xff08;命令窗口&#xff09;输出变量的值&#xff0c;可以使用几种不同的方法&#xff1a; 1. 使用 disp 函数 disp 函数用于显示变量的值&#xff0c;适用于简洁的输出。 % 创建一个变量 x 42;% 在控制台输出变量值 disp(x);2. 使…

transformer模型进行英译汉,汉译英

上面是在测试集上的表现 下面是在训练集上的表现 上面是在训练集上的评估效果 这是在测试集上的评估效果,模型是transformer模型,模型应该没问题,以上的是一个源序列没加结束符和加了结束符的情况。 transformer源序列做遮挡填充的自注意力,这就让编码器的输出中每个token的语…