稍微了解一下红帽认证考试内容可以划分为以下几个主要模块:
- 红帽认证系统管理员(RHCSA)
系统管理基础:包括安装和部署红帽企业Linux(RHEL),磁盘分区,以及软件包的选择和管理。
用户和组管理:涉及创建、修改和删除用户和组,以及设置环境变量。
存储管理:创建和管理逻辑卷,文件系统的创建和挂载。
网络管理:配置网络接口、静态IP地址和DNS解析。
服务管理:管理系统服务,如SSH、HTTP等,以及时间同步服务。
- 红帽认证工程师(RHCE)
Ansible的使用:了解Ansible的核心组件,如清单、模块和剧本编写。
系统管理任务的自动化:使用Ansible模块自动执行标准RHCSA任务,包括软件包管理、服务管理和用户管理。
创建和管理Ansible Playbook:通过Playbook配置系统,确保服务的安全和高效。
- 红帽认证架构师(RHCA)
安全管理:网络服务的安全配置。
系统监控与性能调优:分析系统性能并进行优化。
目录服务和认证:管理基于LDAP的服务。
开始复习--命令及其常用选项(略看即可)
命令的格式:命令 [选项]...... [参数]......
命令,必须要写(你想要做什么)
选项:选项是用来改变命令默认行为的标志,用于设置命令的行为和功能。-----它们通常以一个或多个短横线(-)或双短横线(--)开始,后面跟着一个字母或单词。-----有些命令可以不带选项,有些命令可以同时带多个选项,例如:
-l
、--help
参数:命令的作用对象或要处理的数据。----它们是命令执行所需的具体信息。可以是位置参数或选项参数。-----有些命令没有参数,有些命令必须带参数,有些命令可以同时写多个参数
总结一些命令可以不带选项的及其默认行为:
ls:不带选项时默认格式列出文件和目录名称---语法:ls [特定目录]或 ls 无
cd:不带选项时直接进入用户的主目录。---语法:cd
pwd:不带选项时默认显示完整的路径。----语法:pwd
mkdir:直接创建一个或多个指定名称的目录。---语法:mkdir [新目录名] [新目录名N。。]
rm:不带选项时默认删除指定的文件。----语法:rm [一个或多个文件名\也可以是目录]
cp:不带选项时cp命令将源文件复制到目标位置。----语法:cp 源文件 目标文件
mv:将源文件或目录移动到目标位置。----语法:mv [要移动的文件或目录] [移动的位置]
touch:创建一个新的空文件或更新已存在文件的时间戳。----语法:touch [新文件名或要更新已存在文件的名]
echo:简单的将其参数输出到标准输出。----语法:echo [字符串或变量]
cat:不带选项时会将文件的内容输出到标准输出。----语法:cat 文件名
大多数Linux命令是可以同时带多个选项的,只有一些命令或特定情况下的选项组合不能同时使用:带有互斥选项的命令。---比如
tar
命令中的-c
(创建)和-x
(解压)带有参数冲突的选项:---
grep
命令中的-e(
指定多个搜索模式)和-f
(从文件中读取模式)特殊用途的选项:----
dd
命令中的if
和of
选项分别用于指定输入文件和输出文件
可以没有和不能有参数的命令:ls:列出当前目录下的文件和文件夹。
cd:切换到用户的主目录。
pwd:显示当前工作目录的路径。
date:显示当前的日期和时间。
whoami:显示当前登录用户的用户名。
clear:清除终端屏幕上的内容。
exit:退出当前会话或终端窗口。
echo:输出一个空行(如果没有给出参数)。
history:显示最近执行的命令历史记录。
cal:显示当前月份的日历。
df:显示文件系统的磁盘使用情况。
free:显示系统内存的使用情况。
必须带参数的命令:cp\mv\rm\grep\chmod\chown\find\tar
可以同时写多个参数的命令:ls\cp\mv\rm\grep\chmod\chown\find
文件和目录管理、用户和组管理、进程管理、网络配置、软件包管理
1. 文件和目录管理:
- ls: 列出目录内容
常用选项:
l
:以长格式显示文件信息,包括权限、所有者、大小等。
a
:显示所有文件,包括隐藏文件(以"."开头的文件)。
h
:以人类可读的格式显示文件大小(如K、M、G)。
- cd: 切换目录
~
:切换到用户的主目录。
..
:切换到上一级目录。
/path/to/directory
:切换到指定路径的目录
-
pwd: 显示当前工作目录
-
mkdir: 创建新目录
p
:递归创建目录,即如果父目录不存在则一并创建
- rmdir: 删除空目录
p
:递归删除父目录,如果它们为空
- cp: 复制文件或目录
r
:递归复制目录及其内容。
i
:交互式复制,如果目标文件已存在,会提示确认。
- mv: 移动或重命名文件或目录
b
:如果目标文件存在,先进行备份。f
:强制覆盖目标文件,不提示。
- rm: 删除文件或目录
r
:递归删除目录及其内容。
f
:强制删除,不提示
- touch: 创建空文件或更新文件的访问和修改文件时间戳
t
:设置文件的时间属性
- cat: 查看文件内容
n
:显示行号。
E
:在每行的末尾显示"$"符号
-
more/less: 分页查看文件内容
-
head/tail: 显示文件头部或尾部内容
-
grep: 搜索文件中的文本
i
:忽略大小写。
r
:递归搜索目录中的文件。
n
:显示匹配行的行号
- find: 查找文件
name
:按名称查找文件。type
:按类型查找(如f表示普通文件,d表示目录)。exec
:对查找到的文件执行指定的命令
- diff: 比较文件差异
2. 用户和组管理:
-
useradd: 创建新用户
-
userdel: 删除用户
-
groupadd: 创建新组
-
groupdel: 删除组
-
usermod: 修改用户属性
-
groupmod: 修改组属性
-chmod:更改文件或目录的权限
R
:递归更改目录及其内容的权限。u+rwx
:为用户添加读写执行权限。g+rwx
:为组添加读写执行权限。o+rwx
:为其他用户添加读写执行权限。
- chown: 更改文件或目录的所有者
R
:递归更改目录及其内容的所有者和/或组。
-tar:打包和解包文件。
c
:创建新的归档文件。
x
:从归档文件中提取文件。
v
:显示操作过程中的文件。
f
:指定归档文件的名称。
z
:通过gzip压缩或解压缩归档文件。
-gzip:压缩或解压缩文件
k
:保留原始文件,不删除。d
:解压缩文件
-
chgrp: 更改文件或目录的所属组
-
passwd: 更改用户密码
-
su: 切换用户身份
-
sudo: 以其他用户身份执行命令
3. 进程管理:
- ps: 显示当前进程状态
aux
:显示所有进程的详细信息。
ef
:显示特定格式的进程信息。
- top: 实时显示系统进程状态
d
:设置刷新间隔时间。
u
:按用户过滤进程
- kill: 终止进程
9
:强制终止进程,不可被捕获或忽略。
15
:正常终止进程,允许进程进行清理操作
-
killall: 终止所有指定名称的进程
-
bg: 将挂起的作业放到后台运行
-
fg: 将后台作业放到前台运行
-
jobs: 列出当前终端的作业
-date:显示或设置系统日期和时间。
+%F
:显示日期(年-月-日)。
+%T
:显示时间(时:分:秒)。
df:显示磁盘空间使用情况。
h
:以人类可读的格式显示(如K、M、G)。
T
:显示文件系统类型。
-du:显示目录或文件的磁盘使用量。
h
:以人类可读的格式显示。
s
:只显示总计。
-echo:输出字符串到终端。
e
:启用转义字符解析(如换行符)。
n
:输出后不换行。
4. 网络配置:
- ifconfig: 显示或配置网络接口
up
:启用网络接口。
down
:禁用网络接口
- ping: 测试网络连通性
c
:指定发送的数据包数量。
W
:设置超时时间。
-
netstat: 显示网络状态信息
-
route: 显示或配置路由表
-
ip: 显示或操作路由、设备、策略路由等网络相关信息
-
nmcli: 控制NetworkManager的命令行工具
-
ssh: 远程登录到另一台计算机
-
scp: 在本地和远程之间复制文件
-systemctl:控制systemd系统和服务管理器。用法:systemctl
start
:启动服务。
stop
:停止服务。
restart
:重启服务。
enable
:设置服务开机自启。
disable
:取消服务开机自启。
status
:查看服务状态。
5. 软件包管理:
-
yum: 基于RPM的软件包管理器,用于安装、更新、删除软件包
-
dnf: 新一代的软件包管理器,兼容yum,功能更强大
-
rpm: RPM包管理器,用于安装、卸载、升级、查询RPM包
-
zypper: SUSE Linux的软件包管理器,类似于yum和dnf
-
apt: Debian和Ubuntu的软件包管理器,用于安装、更新、删除软件包
-
apt-get: apt的命令行界面,用于处理软件包事务
-
dpkg: Debian和Ubuntu的软件包管理器,用于安装、卸载和管理Debian软件包
常见的重要符合及其含义(略看即可)
1.反斜杠(\):用于转义特殊字符,例如输入特殊字符时,可以在字符前加上反斜杠来表示原字符。
单引号('):用于引用字符串,保留字符串中的所有特殊字符的字面值。
双引号("):用于引用字符串,可以解释其中的变量和特殊字符。
管道符(|):用于将一个命令的输出作为另一个命令的输入。
重定向符号(>、>>、<):用于将命令的输出重定向到文件或从文件中读取输入。
>:将命令的输出重定向到一个新文件中,如果文件已存在,则会被覆盖。
>>:将命令的输出追加到文件末尾。
<:从文件中读取输入。
分号(;):用于将多个命令放在一行中顺序执行,每个命令的执行不受前一个命令的影响。
特殊符号(、#): 用于表示变量,可以在命令中引用变量的值;# 表示超级用户(root)。
通配符(*、?、[]):用于匹配文件名或字符串中的多个字符。
*:匹配任意长度的字符。
?:匹配单个字符。
[]:匹配指定范围内的任意一个字符。
后台执行符(&):用于在命令结尾时,将命令放入后台执行,同时可以继续输入其他命令。
逻辑与(&&)和逻辑或(||):用于根据命令的执行结果执行另一个命令。
&&:只有前一个命令执行成功才会执行下一个命令。
||:只有前一个命令执行失败后才会执行下一个命令。
利用题目串联各知识点
现在需要在RHEL系统上部署web服务,该服务的软件包名:httpd或nginx
首先什么是web服务:一种通过HTTP协议(用于传输超文本的应用层协议)进行通信的客户端和服务器应用程序,能够实现跨编程语言和操作系统平台的互操作性。
在RHEL系统上部署Web服务,可以选择使用Apache HTTP Server或Nginx。这两种Web服务器的软件包名:
- Apache HTTP Server
软件包名: httpd
安装命令: yum install -y httpd
启动服务: systemctl start httpd
停止服务: systemctl stop httpd
重启服务: systemctl restart httpd
查看服务状态: systemctl status httpd
- Nginx
软件包名: nginx
安装命令: yum install -y nginx
启动服务: 上同
3种常用安装软件包的命令
apt-get install 软件包名
yum install 软件包
rpm -ivh 软件包
web服务默认端口:
80(http)、8080(Tomcat服务器默认)
rhcsa阶段要了解基于这4种方式的http服务
端口(通过不同的TCP端口来提供服务
http://什么什么:808/
)、域名(浏览器会首先通过DNS(域名系统)解析该域名,获取对应的IP地址:www.什么.com)、ip(http://某ip地址)、协议
加密的http服务使用https协议
https定义:是在HTTP的基础上加入了SSL/TLS协议,提供了数据加密、完整性校验和身份验证功能。HTTPS使用SSL/TLS协议对传输的数据进行加密,保护数据传输过程中的安全性。
允许本地web服务防火墙规则的命令(通常使用firewalld或iptables工具)
iptable-A INPUT -p tcp -s 0.0.0.0 --dport=80 -j ACCEPT 添加了一条规则到INPUT链中,用于匹配所有源地址(-s 0.0.0.0)的目的端口为80的所有TCP流量,并将其接受(ACCEPT)--
firewall-cmd--add-service=http 添加预定义的HTTP服务到防火墙中
firewall-cmd--add-port=80/tcp 直接指定TCP协议的80端口开放
对于iptable方式,一般我们实验会先检查状态systemctl status iptable
启动并启用
systemctl start iptable
systemctl enable iptable
添加http(端口80)和https(端口443)服务到防火墙规则
iptable -A INPUT -p tcp --dport 80 -j ACCEPT (++也就是允许本地web服务防火墙规则的命令)++可以tcp后用参数-s匹配源地址
iptable -A INPUT -p tcp --dport 443 -j ACCEPT
保存
service iptable save
验证
iptable -L -v -n
对于firewall方式,一般我们实验时会先检查firewall状态systemctl status firewall
然后启动并启用
systemctl start firewall
systemctl enable firewall
添加http(端口80)和https(端口443)服务到防火墙规则
firewall-cmd --add-service=http也可以替换80/tcp (++也就是允许本地web服务防火墙规则的命令++ ,如果想临时变永久添加到防火墙,cmd后加'--permanent')
firewall-cmd --permanent(永久) --add-service=https
重新加载防火墙规则
firewall-cmd --reload
验证
firewall-cmd --list-all
什么是selinux怎么查看selinux是否开启
selinux是一种安全机制,它通过强制访问控制提供对系统的安全增强。
输入'getenforce'查看是否开启,返回'enforcing'说明已开启
或输入sestatus
xshell远程连接如果使用ssh协议的,默认端口是22
ssh是一种加密的网络传输协议,用于在网络上安全地进行远程登录和执行命令。它通过端口tcp 22进行通信,并提供了安全的通道来保护数据的传输。
注:默认只有一个端口22,但可以通过修改配置文件、重启服务和调整防火墙及SELinux设置来更改为其他端口
进程-将前台进程放在后台执行
-直接在命令末尾加上 '&' , 适用于一开始就想在后台运行的命令。
-使用ctel+Z 和'bg' ,适用于将已经在前台运行的命令放到后台
-使用 'nohup' ,适用于需要程序在你退出账户或关闭终端后继续运行的情况
-使用 'jobs' 和 'fg' ,用于查看和管理后台任务
查看httpd服务是否启用
ps -aux | grep httpd 查看进程方式
lsof -i:80 lsof 列出当前系统中的文件 -i:80 指定端口为80的网络连接
netstat -tunlp 用于显示所有TCP(-t)和UDP(u)连接及其对应的程序 (n 数字形式显示地址和端口号),(l 显示监听套接字),(p 显示该连接的程序名和进程id)
ss -tunlp ss也是一个用于显示套接字统计信息的工具,它是netstat的现代替代品
获取ip地址后,常见使用3种命令查看ip
ip a
ifconfig
hostname -l 显示当前主机名,-l显示所有ip对应的主机名
DNS服务默认监听的端口号是53
DNS服务的主要作用是解析域名到对应的IP地址,使得用户可以通过易于记忆的域名访问互联网资源,而不需要记住复杂的IP地址。关于DNS的命令:
named -c 文件位置:指定配置文件的位置
-g :以调试模式运行
-d :开启调试模式
dnsmasq -- interface=接口>:指定监听的接口
-- dhcp-range= ip地址范围(不需要掩码)
启动DNS服务,监听某接口,并为连接到该接口的设备分配ip地址范围:
named -c 示例文件 /etc/named.conf
dnsmasq -- interface=接口 eth0 -- dhcp-range=192.168.1.1,192.168.1.11
DNS正反向解析
查看命令系统或文件磁盘使用情况
# 基本用法,显示所有挂载的文件系统的磁盘使用情况(可以查看系统文件系统使用情况的命令)
df
# 以人类可读的格式显示
df -h
# 显示文件系统类型
df -T
# 显示 inode 信息
df -i
# 显示所有文件系统的总计
df --total
# 仅显示 ext4 类型的文件系统
df -t ext4
# 排除 tmpfs 类型的文件系统
df -x tmpfs
# 基本用法,显示当前目录下各文件和子目录的大小,用于估算文件和目录的磁盘使用空间
du
# 以人类可读的格式显示
du -h
# 只显示总计
du -s
# 显示所有文件和目录的大小
du -a
# 限制递归深度为2层
du --max-depth=2
# 最后输出总计
du -c
# 排除名为 "backup" 的目录
du --exclude="backup"
# 基本用法,列出所有块设备的信息,帮助用户了解特定目录或文件的磁盘使用情况
lsblk
# 显示文件系统信息
lsblk -f
# 指定要显示的字段,如名称、大小、类型等
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
# 包括空设备
lsblk -a
# 排除空设备
lsblk -e
# 显示权限信息
lsblk -m
# 不显示标题行
lsblk -n
ntp -服务器配置-客户端配置-安全性-工具
ntp(网络时间协议)是一种用于在分布式网络中的不同设备之间保持精确时间同步的互联网协议,它允许一台机器与其他机器或权威的时间源建立联系,并根据这些联系来调整自己的时间,以确保整个网络中的所有设备共享一致的时间基准。
ntp中需要开启123端口。
ntp服务器配置(已安装ntp前提)