Linux系统及操作 (09)
[ ping ]
-
[ ping -c ]指定数量
[ ping -c5 192.168.88.2 ] 指定五次交互
DNS服务器
-
Domain Name System 域名系统
-
用于实现域名和IP地址相互映射的一个分布式数据库
-
将域名翻译成可由计算机识别的IP地址,方便用户间的互相访问
- 计算机无法直接识别**[ www.baidu.com ]** ,需要DNS转换成**[ 14.215.177.38 ]**
-
客户端先与DNS服务器交互,获得IP地址后,再用IP地址与Web服务器交互
-
手动指定DNS服务器的配置文件[ /etc/resolv.conf ]
- 关键记录**“namesever DNS服务器地址”**
日志管理
日志概述
-
系统和程序的日记本
-
记录系统,程序运行中发生的各种事件
-
通过日志,了解排除故障
-
信息安全控制的依据
-
-
日记记录的格式由rsyslog统一记录/管理
-
日志消息采用文本格式
-
主要记录事件发生的时间,主机,进程,内容
-
-
常见的日志文件 [ /var/log/ ]*
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
日志分析
-
查看文本日志信息
- tail、tailf、less、grep等文本浏览/检索命令
- tailf 实时跟踪命令 [ tail -f 文件 ] 实时监控文件变化
- awk、sed 格式化过滤工具
- ELK 日志分析平台.
- tail、tailf、less、grep等文本浏览/检索命令
-
用户登录分析
-
[ users ]、[ who ]、[ w ] -----–查看已登录的用户信息,详细度不同.w最高.
- [ pts ] 指命令行终端
- [ tty ] 表示本地图形登录
-
[ last ]、[ lastb ]–----------查看最近登录成功/失败的用户信息
-
[ last ] 登录成功的用户
-
[ lastb ] 登录失败的用户
-
-
-
优先级
- Linux内核定义的事件紧急程度
- 分为 0~7 共8种优先级别
- 其数值越小,表示对应事件越紧急/重要
系统安全保护
SELinux
SElinux概述
-
Security-Enhanced Linux
-
增强Linux系统安全的强制访问控制体系
-
集成到Linux内核中运行
-
SELinux体系针对用户,进程,目录和文件提供了预设保护策略,管理工具
SELinux 运行模式
- enforcing(强制)
- permissive(宽松)-------------丧失80%的策略
- disabled(彻底禁用)
- 任何模式变成disabled模式,都要经历重启系统
切换运行模式
-
临时切换:[ setenforce 1 ]或[ setenforce 0 ] 只能修改强制或宽松
-
固定配置:[ /etc/selinux/config ]
-
[ getenforce ]-----------------#查看当前运行模式
-
[ setenforce 0 ]---------------#修改当前运行模式
-
[ vim /etc/selinux/config ] ---------------#修改配置文件 ,下次启动时生效
SELINUX=permissive -------------------#修改成 宽松 ,下次启动时生效
-
系统故障修复
-
故障现象
-
无法执行需要root权限的管理操作
-
若没有其他可用帐号,将无法登录系统
-
-
解决思路
- 引导进入修复/救援模式,然后重设密码
遗忘/重设root用户密码
-
前提:必须是服务器的管理者,涉及重启服务器
-
思路
-
重启系统,进入救援模式
-
按 e 键,在 linux 该行 ,将此行的 [ ro ] 修改为 [ rw ]
-
linux该行,末尾添加 [ rd.break ]
-
按 [ ctrl + x ] 启动 , 会看到 [ switch_root:/# ]
-
-
切换到此环境
- [ switch_root# chroot /sysroot ]
-
将root用户密码设置为 redhat
-
[ echo redhat | passwd --stdin root ]
-
重设SELinux安全标签
-
如果SELinux是强制模式,才需要SELinux失忆,
其他模式不需要让SELinux进行失忆
[ touch /.autorelabel ] #让SElinux 失忆
或修改SElinux , 修改成宽松模式即可
[ vim /etc/selinux/config ] #查看SElinux开机的运行模式 -
先后执行 reboot 完成修复
-
[ reboot -f ] 强制重新启动
-
-
密码防护
- 设置救援模式密码
- [ grub2-setpassword ] 设置救援模式密码
- [ cat /boot/grub2/user.cfg ] 存放grub密码的文件
构建Web服务
-
Web服务:提供一个页面内容的服务
-
提供Web服务的软件:httpd、Nginx、tomcat (Nginx用的最多,中国最常见)
-
http协议 : 超文本传输协议
-
网页文件:开发工程师 (html语言)
httpd
-
[ yum -y install httpd ] ------------------- 安装httpd包
-
[ /usr/sbin/httpd ] #绝对路径运行程序---------------- 运行提供Web服务程序[ rpm -ql httpd | grep sbin ]
[ pgrep -l httpd ] #查看进程信息
-
**[ vim /var/www/html/index.html ] ** -------------------书写一个页面文件
-
[ curl 192.168.88.240 ] -----------------------------本机浏览器访问测试
-
[ killall ] -----------------------------------------关闭
[ vsftpd ] FTP服务
- FTP协议:文本传输协议
- 客户端安装 yum -y install lftp
- [ lftp IP地址 ]
- 实现FTP服务功能的软件:vsftpd
- 默认共享数据的主目录:/var/ftp/
-
[ yum -y install vsftpd ] ------------------- 安装vsftpd包
-
[ vim /etc/vsftpd/vsftpd.conf ]-----------vsftpd需要用户等信息才能运行,此配置文件可以开启无密码验证功能 [ anonymous_enable=YES ] 修改
-
[ /usr/sbin/vsftpd ] ---------------------运行程序
-
[ pgrep -l vsftpd ] ----------------------查看进程信息
-
**[ vim /var/ftp/bilibili.txt ] ** -------------------书写一个页面文件
-
[ curl ftp://192.168.88.240 ] -----------------------------本机浏览器访问测试
防火墙的策略管理
- 作用:隔离,严格过滤入站,放行出站
- 硬件防火墙
- 软件防火墙:360,瑞星,金山毒霸等等.linux的软件防火墙是firewalld
- firewalld ( 7,8系列 ) 是 Iptables( 5,6系列) 的升级版
- 管理工具 : firewall-cmd , firewall-config(图形)
- 根据所在的网络场所区分,预设区域
- public:仅允许访问本机的ssh、dhcp、ping服务
- trusted:允许任何访问
- block:拒绝任何来访请求,明确拒绝客户端
- drop:丢弃任何来访的数据包,不给任何回应
- 防火墙判定原则:
- 查看客户端请求中来源IP地址,查看自己所有区域中规则,那个区域中有该源IP地址规则,则进入该区域
- 进入默认区域(默认情况下为public)
防火墙默认区域修改
-
查看默认区域 : [ firewall-cmd --get-default-zone ]
-
修改默认区域 : [ firewall-cmd --set-default-zone=trusted ]
防火墙public区域添加规则
-
[ firewall-cmd --zone=public --add-service=http ] #添加一个服务,http协议.
- 删除需要 --remove-service
-
[ firewall-cmd --zone=public --list-all ] #查看public区域中的协议
-
永久添加规则 -------------------------{ –permanent }
-
[ firewall-cmd --reload ] --------------------加载防火墙永久策略,忘记临时策略
-
[ firewall-cmd --zone=public --list-all ]
-
[ firewall-cmd --permanent --zone=public --add-service=http ] #永久添加一个服务,http协议.
-
[ firewall-cmd --reload ] --------------------重新加载防火墙永久策略
-
[ firewall-cmd --zone=public --list-all ]
-
-
防火墙单独拒绝某机器的所有访问
- [ firewall-cmd --zone=block --add-source=192.168.88.2 ]
-
卸载防火墙
- [ yum -y remove firewalld ]
服务管理
- 运行程序的管理
手动方式
-
/usr/sbin/httpd #绝对路径运行
-
killall httpd #手动杀死
systemd 方式
-
上帝进程
-
用户—>systemd—>找到相应的进程或程序
-
用户–systemctl—>systemd–服务启动配置文件—>找到相应的进程或程序
-
服务启动配置文件目录:/lib/systemd/system/
- [ systemctl restart 服务名 ] #重起服务
- systemctl start 服务名 #开启服务
- systemctl stop 服务名 #停止服务
- systemctl status 服务名 #查看服务当前的状态
- [ systemctl enable 服务名 ] #设置服务开机自启动
- systemctl disable 服务名 #设置服务禁止开机自启动
- systemctl is-enabled 服务名 #查看服务是否开机自启
管理运行级别
-
5系列与6系列才会有管理运行级别
-
运行级别 300服务
-
0:关机 0个服务 相当于poweroff
-
1:单用户模式(基本功能的实现,破解Linux密码) 50个服务
-
2:多用户字符界面(不支持网络) 80个服务
-
3:多用户字符界面(支持网络)服务器默认运行级别 100个服务
-
4:未定义 0个服务
-
5:图形界面 300个服务
-
6:重启 0个服务 相当于reboot
-
切换运行级别:[ init 数字 ]
-
7与8系列:运行模式(运行级别)只有3和5 两个级别.
-
字符模式:multi-user.target
[ systemctl isolate multi-user.target ] #相当于原来的init 3
-
图形模式:graphical.target
[ systemctl isolate graphical.target ] #相当于原来的init 5
开机自动进入模式
- [ systemctl get-default ] #查看每次开机默认进入模式
- [ systemctl set-default multi-user.target ] #设置永久策略,开机自动进入字符模式
- [ systemctl set-default graphical.target ] #设置永久策略,开机自动进入图形模式