服务管理
启动服务:systemctl start 服务名
停止服务:systemctl stop 服务名
重启服务:systemctl restart 服务名
重新加载配置文件:systemctl reload 服务名(期间并不停止服务进程)
查看服务运行状态:systemctl status 服务名
获取服务启动报错原因:systemctl status 服务名 -l
开机自启动服务:systemctl enable 服务名
关闭开机自启动服务:systemctl disable 服务名
列出系统中所有服务:systemctl list-units
查看服务是否开机自启动:systemctl list-unit-files
实例:搭建时间服务器
公共时间服务器:阿里,腾讯,百度......
私有时间服务器:由自己搭建
查看服务器的时区:timedatectl
修改主机名:hostnamectl set-hostname 新主机名
服务器端
准备工作:
保证yum仓库可用,保证网络可用
关闭防火墙:systemctl stop firewalld
关闭防火墙开机自启动:systemctl disable firewalld
临时关闭selinux:setenforce 0
永久关闭selinux:vim /etc/selinux/config
SELINUX=disable
①安装时间服务器软件:yum -y install ntp
②修改服务配置文件vim /etc/ntp.conf
restrict default nomodify //不允许客户端登录,也不允许客户端修改
server 127.127.1.0 //使用本地的bios时间,自己跟自己同步
fudge 127.127.1.0 stratum 10 //定义级别,范围0-16,越小越精准
③启动ntp服务
systemctl restart ntpd
客户端
准备工作:
保证yum仓库可用,保证网络可用
①安装ntpdate服务:yum -y install ntpdate
②进行时间同步:ntpdate 时间服务器的IP地址
注意
①如果两台在不同的主机上的虚拟机都是NAT模式,两台虚拟机不能互相通讯
②如果两台在同一个主机上的虚拟机都是NAT模式,两台虚拟机可以互相通讯
③如果两台虚拟机都是桥接模式,两台虚拟机可以互相通讯
④如果两台虚拟机分别是NAT模式和桥接模式
NAT模式的虚拟机可以访问桥接模式的虚拟机
桥接模式的虚拟机不能访问NAT模式的虚拟机
日志管理
日志分类:系统日志,进程日志,应用程序日志
日志的用途:排错,追溯事件,统计流量,审计安全行为
rsyslog:系统自带的日志管理服务,默认运行
日志的分析处理
少量日志使用 vim cat grep awk等文档处理命令查看
大量日志使用splunk、elk [elasticsearch logstash Kibana]
日志服务rsyslog
/var/log :系统默认存放日志的目录,存放常见的日志文件(系统、进程、应用程序)
/etc/rsyslog.conf :日志服务的配置文件
/etc/rsyslog.d/ :日志服务的子配置文件(包含于日志配置文件)
/etc/rsyslog.conf 日志配置文件解释:
日志管理规则
通过 man 5 rsyslog.conf 可以看到日志管理规则中的日志对象和日志级别
日志对象
日志对象 | 日志内容 |
auth/secure | 安全验证信息 |
authpriv | ssh、ftp等登录信息 |
cron | 系统执行定时任务产生的信息 |
daemon | 守护进程产生的信息 |
kern | 内核信息 |
lpr | 打印相关信息 |
| 邮件系统信息 |
mark | 服务内部的信息,时间标识 |
news | 新闻服务器相关信息 |
syslog | 日志系统自身信息 |
user | 用户程序产生的相关信息 |
uucp | Unix-to-Unix Copy 两个unix之间的相关通信 |
local0~local7 | 自定义日志对象 |
日志级别
从上往下等级越来越高,问题越来越严重
日志等级 | 等级说明(等级越高,记录越少) |
none | 不记录任何信息 |
debug | 包含详细的开发情报的信息,通常只在调试一个程序时使用 |
info | 通用性信息,一般用来提供有用信息 |
notice | 正常信息,但是较为重要,可能需要处理 |
warn/warning | 警告信息 |
error/err | 错误信息,某个功能或者模块不能正常工作的信息 |
crit | 严重级别,系统或整个软件不能正常工作的信息,例如硬盘错误 |
alert | 需要立刻修改的信息,如系统数据库被破坏,ISP连接丢失 |
emerg/panic | 紧急情况,内核崩溃等重要信息 |
日志规则:
日志对象.日志级别:只有比当前日志级别更高的级别信息会被记录进日志(等级越高,记录越少;等级越低,记录越多)
*.*:将所有日志对象的所有日志级别信息记录进日志
日志对象.=日志级别:只有当前日志级别的信息会被记录进日志
日志对象.!日志级别:除了当前日志级别的级别信息都会被记录进日志
日志规则格式:
日志对象.日志级别;日志对象.日志级别 日志文件名字及存放路径
实例:使用自定义日志对象记录sshd服务的日志文件
①修改sshd服务的主配置文件:vim /etc/ssh/sshd_config
将配置文件中的 SyslogFacility AUTHPRIV 改为 SyslogFacility local0
使sshd服务的日志文件由local0记录
②修改rsyslog服务的主配置文件:vim /etc/rsyslog.conf
在配置文件的RULES部分添加一行:local0.* /var/log/sshd_log
使sshd服务的所有日志信息被 /var/log/sshd_log 日志文件记录
③重启服务
systemctl restart rsyslog
systemctl restart sshd
④使用另一台服务器远程登录该服务器验证
因为在ssh远程登录的过程中涉及到密码验证,所以实际上/var/log/secure文件中也会留下相关记录
/var/log/ 内的日志文件
系统自带日志文件
massage:系统日志文件,记录对系统做的操作
secure:认证安全相关的日志文件,记录了系统用户,ssh远程的登录记录,包括失败登录记录和成功登录记录
cron:计划任务日志
yum.log:记录yum软件包管理相关的日志
wtmp:二进制文件,使用w命令调取该文件,查看当前登录的用户
btmp:二进制文件,使用last命令调取该文件,查看最近登陆的用户
lastlog:二进制文件,使用lastlog命令调取该文件,查看系统中所有用户的登录情况
服务进程相关的日志文件
mysqld.log:MySQL进程的记录日志文件
access_log:apache进程的记录日志文件
xferlog:访问FTP服务器的相关记录日志文件