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

devtools/2024/9/23 1:28:59/

目录

引言 

一、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/devtools/115731.html

相关文章

Kotlin-Flow学习笔记

Channel 和 Flow 都是数据流&#xff0c;Channel 是“热”的&#xff0c;Flow 则是“冷”的。这里的冷&#xff0c;代表着 Flow 不仅是“冷淡”的&#xff0c;而且还是“懒惰”的。 Flow 从 API 的角度分类&#xff0c;主要分为&#xff1a;构造器、中间操作符、终止操作符。今…

深入了解 Maven 和 Redis

在现代软件开发中&#xff0c;工具的选择对于项目的成功至关重要。Maven 和 Redis 是两个在不同领域发挥着重要作用的工具&#xff0c;本文将对它们进行详细介绍。 一、Maven&#xff1a;强大的项目管理工具 &#xff08;一&#xff09;什么是 Maven&#xff1f; Maven 是一个基…

ARM驱动学习之 IOremap实现GPIO 读

ARM驱动学习之 IOremap实现GPIO 读 前面介绍了虚拟地址和物理地址。 读写GPIO&#xff0c;控制GPIO的寄存器都是使用系统做好的虚拟地址 本期介绍如何自己实现物理地址到虚拟地址的转化 iounmap和ioremap函数可以实现物理地址到虚拟地址的转化1.根据原理图找核心板对应的寄存器…

【HTTP】请求“报头”,Referer 和 Cookie

Referer 描述了当前这个页面是从哪里来的&#xff08;从哪个页面跳转过来的&#xff09; 浏览器中&#xff0c;直接输入 URL/点击收藏夹打开的网页&#xff0c;此时是没有 referer。当你在 sogou 页面进行搜索时&#xff0c;新进入的网页就会有 referer 有一个非常典型的用…

2024“华为杯”中国研究生数学建模竞赛(A题)深度剖析_数学建模完整过程+详细思路+代码全解析

问题一详细解答过程 2. 简化疲劳损伤计算模型 2.1 累积损伤的Palmgren-Miner理论 根据Palmgren-Miner线性累积损伤理论&#xff0c;疲劳损伤是通过在一定的应力循环下累积的。对于给定应力幅值 S i S_i Si​&#xff0c;累积损伤值 D D D 是由经历的应力循环次数 n i n_i…

FRIDA-JSAPI:Java使用

Frida Frida.version 包含当前Frida版本信息的属性&#xff0c;以字符串形式表示。setImmediate(function (){console.log(Frida.version) })Java Java.perform(fn) 确保当前线程已附加到虚拟机&#xff0c;并调用 fn。 setImmediate(function (){Java.perform(function (){c…

WebLogic 靶场攻略

后台弱⼝令GetShell 步骤一&#xff1a;环境部署 cd vulhub-master/weblogic/weak_password docker-compose up -d docker ps 步骤二&#xff1a;漏洞复现 默认账号密码&#xff1a;weblogic/Oracle123 步骤二&#xff1a;进行登录 http://192.168.10.190:7001/console/…

高级I/O知识分享【5种IO模型 || select || poll】

博客主页&#xff1a;花果山~程序猿-CSDN博客 文章分栏&#xff1a;Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习&#xff0c;一起进步&#xff0c;一起探索编程的无限可能吧&#xff01;让我们一起努力&#xff0c;一起成长&#xff01; 目录 一&#xff0c;前文 2&a…