Linux系统中三个主要的时间权限
atime:访问文件时间,需要打开文件时间才会发生改变
mtime:最近更改时间,文件内容发生改变,时间才会变化
ctime:最近改动时间,文件的权限发生改变,时间才会改动
inode号
1.inode号是有限资源,如果消耗完毕,无法继续新建文件(解决方法就是删除空文件)
2.inode号是唯一的,在同一设备中是唯一的
在不同设备中inode不是唯一的
一、日志
1.日志等级
等级名称 | 说 明 |
---|---|
debug (LOG_DEBUG) | 一般的调试信息说明 |
info (LOG_INFO) | 基本的通知信息 |
notice (LOG_NOTICE) | 普通信息,但是有一定的重要性 |
warning(LOG_WARNING) | 警吿信息,但是还不会影响到服务或系统的运行 |
error(LOG_ERR) | 错误信息, 一般达到err等级的信息已经可以影响到服务成系统的运行了 |
crit (LOG_CRIT) | 临界状况信思,比err等级还要严® |
alert (LOG_ALERT) | 状态信息,比crit等级还要严重,必须立即采取行动 |
emerg (LOG_EMERG) | 疼痛等级信息,系统已经无法使用了 |
* | 代表所有日志等级。比如,“authpriv.*”代表amhpriv认证信息服务产生的日志,所有的日志等级都记录 |
2.服务分类
服务名称 | 说 明 |
---|---|
auth(LOG AUTH) | 安全和认证相关消息 (不推荐使用authpriv替代) |
authpriv(LOG_AUTHPRIV) | 安全和认证相关消息(私有的) |
cron (LOG_CRON) | 系统定时任务cront和at产生的日志 |
daemon (LOG_DAEMON) | 与各个守护进程相关的曰志 |
ftp (LOG_FTP) | ftp守护进程产生的曰志 |
kern(LOG_KERN) | 内核产生的曰志(不是用户进程产生的) |
Iocal0-local7 (LOG_LOCAL0-7) | 为本地使用预留的服务 某软件 无记录日志的功能,他又支持rsyslog 可以使用 此项来 定义日志 |
lpr (LOG_LPR) | 打印产生的日志 |
mail (LOG_MAIL) | 邮件收发信息 |
news (LOG_NEWS) | 与新闻服务器相关的日志 |
syslog (LOG_SYSLOG) | 存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了 syslogd服务的,所以这里并没有修改服务名称) |
user (LOG_USER) | 用户等级类别的日志信息 |
uucp (LOG_UUCP> | uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来 也常用在新闻组服务中 |
服务程序启动不了解决方法
systemctl status 服务名称
journalctl -xe --nopager
-x 提示信息
-e 显示末尾
–no-pager 自动换行
3.日志管理
系统日志:操作系统做了什么事,发生了什么故障
应用日志:某一程序做了什么事,发生了什么故障
查看日志相关命令
日志 | 作用 | 命令 |
---|---|---|
btmp | 查看登录失败的用户 | lastb |
lastlog | 查看用户最后一次登录的情况 | lastlog |
wtmp | 用户成功登录的日志 | last |
4.rsyslog配置文件
/etc/rsyslog.conf 配置文件格式:由三部分组成
- MODULES:相关模块配置
- GLOBAL DIRECTIVES:全局配置
- RULES:日志记录相关的规则配置
RULES配置格式:
服务程序.记录的日志 日志文件的位置(绝对路径)
例:
sshd.error 含义:记录sshd这个程序的日志,并且只有error及error以上的日志消息会被记录
一个程序想l利用rsyslog软件生成日志,首先得和rsyslog兼容
local 0 - local 7 给你自定义使用
日志实验
1.将ssh服务的日志单独设置
有些软件程序是没有单独的日志服务,我们可以利用rsyslog软件给一些重要的程序生成日志文件
ssh 远程登录程序的日志独立出来
ssh软件默认的日志在/var/log/secure 是很多程序一起使用,并不是独立的
[root@localhost ~]tail -f /var/log/secure
#查看ssh服务的日志位置
[root@localhost ~]vim /etc/ssh/sshd_config
#修改ssh配置文件,32下一行添加自己的自定义
32 #SyslogFacility AUTHPRIV #将原本日志存储的位置注释掉
#SyslogFacility是syslog服务的一个参数,用于指定日志消息的设备类型或者来源
#AUTHPRIV是一个特定的设备类型,表示身份验证和安全相关的日志消息
33 SyslogFacility LOCAL6
[root@localhost ~]vim /etc/rsyslog.conf
#76 行添加自己的文件位置
local6.* /opt/ssh.log
[root@localhost log]systemctl restart rsyslog.service sshd
#重启服务
ssh 自己的ip地址
rsyslog 统一收集日志
2.搭建日志服务器(远程日志功能)
#开启日志的远程传输功能在192.168.91.100 10 - 20 台左右的服务器
[root@localhost ~]rpm -ql rsyslog
/usr/lib64/rsyslog/imtcp.so
/usr/lib64/rsyslog/imudp.so
[root@localhost ~]ss -ntap |grep 514#查看514端口是否打开
[root@localhost ~]systemctl stop firewalld
[root@localhost ~]setenforce 0
[root@localhost ~]vim /etc/rsyslog.conf
#打开19 20 行 两端都要开
19 $ModLoad imtcp
20 $InputTCPServerRun 514
[root@localhost ~]ss -ntap |grep 514
#查看514端口是否打开
#在192.168.91.101 上设置发送到哪台主机去
[root@centos7-2 ~]vim /etc/rsyslog.conf
#修改配置文件
54 *.info;mail.none;authpriv.none;cron.none /var/log/messages
#复制54行 改成ip地址
55 *.info;mail.none;authpriv.none;cron.none @@192.168.91.100
#两个@ 代表使用 tcp 一个代表udp
如果修改 的是udp @192.168.91.100
如果要想指定端口 @192.168.91.100:端口号
[root@centos7-2 ~]logger "this is test log from 192.168.91.101 22"
#测试,写日志进去
日志管理工具journalctl
CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。