1.
/etc/sudo.conf #主配置文件
/etc/sudoers #授权规则配置文件
/var/db/sudo #centos系统 审计文件
/var/log/sudo.log #centos系统 日志文件,默认不开
/var/log/auth.log #Ubuntu系统中辅助的日志文件
/var/log/secure #Centos系统中辅助的日志文件
2
服务端配置
定制自建时间服务器配置
root@ubuntu24:~# vim /etc/chrony/chrony.conf
server ntp.aliyun.com iburst
allow 10.0.0.0/24
local stratum 10
root@ubuntu24:~# systemctl restart chronyd.service
root@ubuntu24:~# systemctl stop ufw.service
rocky配置
[root@rocky9 ~]# vim /etc/chrony.conf
# pool 2.rocky.pool.ntp.org iburst
server 10.0.0.13 iburst
重启服务
[root@rocky9 ~]# systemctl restart chronyd.service
查看时间服务器
[root@rocky9 ~]# chronyc -n sources
ubuntu配置
root@ubuntu24:~# vim /etc/chrony/chrony.conf
server 10.0.0.13 iburst
重启服务
root@ubuntu24:~# systemctl restart chrony.service
查看
root@ubuntu24:~# chronyc -n sourcestats
服务器上查看
root@ubuntu24:~# chronyc -n clients
3.日志分类
LOG_AUTH #auth 安全和认证相关的日志
LOG_AUTHPRIV #authpriv 安全和认证相关的日志,私有
LOG_CRON #cron 系统定时任务 crontab 与 at 产生的相关日志
LOG_DAEMON #daemon 各守护进程产生的日志
LOG_FTP #ftp ftp守护进程产生的日志
LOG_KERN #kern 内核产生的日志
LOG_LOCAL0 -- LOG_LOCAL7 #local0-local7 自定义分类
LOG_LPR #lpr 打印服务日志
LOG_MAIL #mail 邮件服务日志
LOG_NEWS #news 网络新闻服务产生的日志
LOG_SYSLOG #syslog syslogd 服务自己的日志
LOG_USER #user 用户等级
LOG_UUCP #uucp uucp子系统的日志信息
* #通配符,代表所有分类
优先级别
LOG_EMERG #emerg/panic 紧急,致命错误
LOG_ALERT #alert 告警,当前状态必须立即进行纠正
LOG_CRIT #crit 关键状态的警告,例如 硬件故障
LOG_ERR #err/error 其它错误
LOG_WARNING #warning/warn 警告级别的信息
LOG_NOTICE #notice 通知级别的信息
LOG_INFO #info 通告级别的信息
LOG_DEBUG #debug 调试程序时的信息
* #所有级别的日志
none #不需要任何日志
应用会默认使用系统日志接口(如syslog()
函数)将日志发送到本地 rsyslog
6.
分类 | 日志文件名 | 作用描述 | 典型使用场景 |
---|---|---|---|
系统基础日志 | messages | 记录系统核心、服务启动及运行时的普通信息和警告(非认证相关)。 | 排查服务异常、硬件故障、驱动加载问题。 |
dmesg | 存储内核启动时的诊断信息(如硬件检测、驱动加载情况),可通过 dmesg 命令查看。 | 分析系统启动时的硬件或驱动错误。 | |
syslog | 传统系统日志(部分发行版与 messages 合并),记录系统服务常规事件。 | 追踪系统服务运行状态(如服务启动失败)。 | |
auth.log /secure | 认证相关日志(用户登录、sudo、SSH 连接等),包含成功 / 失败的认证尝试记录。 | 审计用户登录行为,检测暴力破解攻击。 | |
kern.log | 内核模块的错误和警告信息,用于排查内核或驱动问题。 | 解决内核崩溃、驱动兼容性问题。 | |
user.log | 用户空间程序的日志(如 GUI 程序、非系统服务的应用)。 | 调试桌面应用或用户自定义程序的运行问题。 | |
系统服务日志 | boot.log | 记录系统启动过程中服务的启动时间和状态,用于分析启动耗时。 | 优化系统启动速度,定位缓慢启动的服务。 |
daemon.log | 守护进程(如 systemd 、sysvinit )的运行日志,记录服务启动 / 停止事件。 | 监控系统服务的生命周期(如服务意外终止)。 | |
mail.log | 邮件服务(如 Postfix、Dovecot)的日志,包含邮件发送、接收和错误信息。 | 排查邮件发送失败、接收异常或垃圾邮件过滤问题。 | |
lpr.log | 打印服务(如 CUPS)的日志,记录打印任务的提交、失败和完成情况。 | 解决打印机连接失败、打印任务卡住等问题。 | |
网络服务日志 | nginx/access.log | Nginx 服务器的访问日志,记录客户端请求详情(如 IP、URL、响应状态码)。 | 分析网站访问流量、定位 404/500 错误请求。 |
nginx/error.log | Nginx 服务器的错误日志,记录服务器内部错误、配置问题或异常请求。 | 排查 Nginx 配置错误、上游服务故障(如 PHP-FPM 连接失败)。 | |
apache2/access.log | Apache 服务器的访问日志(Debian/Ubuntu),功能同 Nginx 访问日志。 | 统计 Apache 访问量、分析用户行为。 | |
apache2/error.log | Apache 服务器的错误日志(Debian/Ubuntu),记录服务器运行时错误。 | 修复 Apache 模块加载失败、虚拟主机配置错误。 | |
sshd.log | SSH 服务的连接日志(部分系统合并到 auth.log 或 secure )。 | 审计 SSH 登录记录,检测异常 IP 登录尝试。 | |
samba/ | Samba(文件共享服务)的日志目录,记录 SMB/CIFS 连接和文件操作事件。 | 解决 Samba 共享权限问题、客户端连接失败。 | |
安全与审计 | audit/ | 系统审计日志(由 auditd 服务生成),记录用户行为、文件访问、权限变更等。 | 合规审计、追踪敏感文件访问(如 /etc/shadow )。 |
lastlog | 存储所有用户最近一次登录的时间和 IP 地址,可通过 lastlog 命令查看。 | 快速查看用户最后登录状态,检测账号异常。 | |
faillog | 记录失败的登录尝试(如 SSH、本地登录),用于检测暴力破解攻击。 | 分析高频失败登录,封禁攻击源 IP。 | |
wtmp /btmp | wtmp 记录成功登录 / 注销历史,btmp 记录失败登录尝试(二进制格式,需用 lastb 查看)。 | 追踪用户会话记录,排查未授权访问尝试。 | |
系统维护 | dpkg.log | Debian/Ubuntu 系统中 dpkg 包管理器的日志,记录软件安装、卸载、升级操作。 | 回滚软件包操作,排查包依赖冲突。 |
yum.log | Red Hat/CentOS 系统中 yum 包管理器的日志,功能同 dpkg.log 。 | 审计系统软件变更,修复 yum 安装失败问题。 | |
crontab.log | 记录 cron 计划任务的执行结果和错误(路径可能为 cron.log 或包含于 syslog )。 | 调试定时任务失败原因,如脚本权限不足、环境变量缺失。 | |
日志管理 | rsyslog/ | rsyslog 服务的日志目录,记录 rsyslog 自身的运行状态(如配置错误、日志转发失败)。 | 排查 rsyslog 配置问题,确保日志收集正常。 |
systemd/ | systemd 日志目录(如 system.log ),存储 systemd 管理的服务日志(可通过 journalctl 查看)。 | 集中管理 systemd 服务日志,替代传统 syslog 格式。 | |
图形界面 | lightdm/ | 轻量级显示管理器(LightDM)的日志,记录图形界面登录相关事件(如密码错误、会话终止)。 | 解决图形界面无法登录、显示管理器崩溃问题。 |
Xorg.0.log | X 窗口系统(图形界面)的日志,记录显卡驱动、显示设置等底层信息。 |
7.
分类 | 选项语法 | 作用描述 | 示例命令 |
---|---|---|---|
时间过滤 | -b 或 --boot=[N] | 显示当前(或指定编号 N )启动会话的日志(-b0 为当前启动,-b-1 为上次启动)。 | journalctl -b 或 journalctl --boot=-1 |
-u 服务名 或 --unit=服务名 | 仅显示指定系统服务(如 nginx.service 、sshd.service )的日志。 | journalctl -u nginx.service | |
-S 时间 或 --since=时间 | 显示从指定时间(如 2023-10-01 、昨天 、1小时前 )开始的日志。 | journalctl --since "2023-10-01 09:00" 或 journalctl -S "1小时前" | |
-U 时间 或 --until=时间 | 显示截止到指定时间的日志,常与 --since 组合使用。 | journalctl --since "昨天" --until "今天 09:00" | |
输出控制 | -f 或 --follow | 实时追踪最新日志(类似 tail -f ),用于监控服务运行状态。 | journalctl -u sshd.service -f |
-n [行数] 或 --lines=[行数] | 显示最后 N 行日志(默认 10 行),用于快速查看最近事件。 | journalctl -n 20 或 journalctl --lines=50 | |
-o 格式 或 --output=格式 | 指定输出格式(short 、verbose 、json 、export 等),适用于脚本解析或调试。 | journalctl -u systemd --output=json | |
--no-pager | 不使用分页器(如 less )直接输出全部内容,适合脚本调用。 | journalctl --no-pager > /tmp/logs.txt | |
优先级过滤 | -p 级别 或 --priority=级别 | 仅显示指定优先级(0 -emerg、1 -alert、2 -crit、3 -err、4 -warning、5 -notice、6 -info、7 -debug)的日志。 | journalctl -p err 或 journalctl --priority=warning |
匹配过滤 | _SYSTEMD_UNIT=服务名 | 按 systemd 单元过滤(功能同 -u ,但支持更复杂的匹配)。 | journalctl _SYSTEMD_UNIT=nginx.service |
_PID=进程ID | 仅显示指定进程 ID 的日志,用于追踪特定进程的活动。 | journalctl _PID=12345 | |
_UID=用户ID 或 _GID=组ID | 显示特定用户或用户组产生的日志,用于审计用户行为。 | journalctl _UID=1000 或 journalctl _GID=adm | |
_HOSTNAME=主机名 | 显示来自特定主机的日志(适用于集中日志管理场景)。 | journalctl _HOSTNAME=server1 | |
其他功能 | --disk-usage | 显示 journal 日志占用的磁盘空间及限制,用于清理前评估。 | journalctl --disk-usage |
--vacuum-size=大小 | 清理旧日志,保留指定大小(如 100M 、2G )的日志,释放磁盘空间。 | journalctl --vacuum-size=500M | |
--vacuum-time=时间 | 清理指定时间(如 1周 、30天 )之前的日志。 | journalctl --vacuum-time=2weeks | |
-xe 或 --catalog | -xe :显示错误信息并跳到最近的错误位置;--catalog :显示带本地化描述的日志(若支持)。 | journalctl -xe 或 journalctl --catalog |
12.-
维度 | inotify + rsync | sersync |
---|---|---|
实现方式 | 自定义脚本(inotifywait + rsync ) | 封装工具(配置文件驱动) |
配置复杂度 | 高(需编写脚本处理事件逻辑) | 低(修改 XML/JSON 配置文件) |
灵活性 | 极高(可自定义事件触发逻辑、过滤规则) | 中(依赖配置文件语法,支持基础过滤) |
性能 | 单线程(适合小文件 / 低频变更) | 多线程(支持大文件 / 高频变更,效率更高) |
可靠性 | 需手动处理重试、日志、网络中断等 | 内置重试机制、日志记录、断点续传 |
适用场景 | 高度定制化需求(如复杂过滤、多阶段触发) | 快速部署、常规实时同步(如 Web 静态资源) |
优点 | 1. 完全可控,适合极客或开发场景 2. 无额外依赖 | 1. 开箱即用,学习成本低 2. 功能丰富(多线程、日志) |
缺点 | 1. 开发维护成本高 2. 需处理边界情况(如大量文件同时变更) | 1. 扩展性受限(依赖工具设计) 2. 部分功能需编译安装 |