案例一:切换用户,切换后保持当前用户所在的目录,并使用当前用户的环境变量
# su <user>
案例二:切换用户,切换后进入被切换用户的家目录,并使用被切换用户的环境变量
# su - <user>
# su <user>
# su - <user>
# vim /etc/audit/auditd.conf
确保部分内容如下:
......
local_events = yes
......
write_logs = yes
......
log_file = /var/log/audit/audit.log
......
max_log_file = 8
......
num_logs =5
......
max_log_file_action = ROTATE
......
(
补充:这里以
1) 开启 auditd 日志 (local_events = yes) (write_logs = yes)
2) 将 auditd 日志写入 /var/log/audit/audit.log 文件 (log_file = /var/log/audit/audit.log)
3) auditd 日志每达到 8M 大小就将旧的 auditd 日志进行备份并创建新的 auditd 日志 (max_log_file = 8) (max_log_file_action = ROTATE),也可以修改成: max_log_file_action = keep_logs
4) 旧的 auditd 日志保存 5 份 (num_logs =5)
为例
)
# service auditd restart
# vim /etc/logrotate.d/auditd
创建以下内容:
/var/log/audit/*
{
rotate 30
daily
missingok
compress
delaycompress
postrotate
touch /var/log/audit/audit.log ||:
chmod 0600 /var/log/audit/audit.log ||:
service auditd restart
endscript
}
(
补充:这里以:
1) 备份的日志文件保留 30 份 (rotate 30)
2) 每天将现在的日志文件进行备份并生成新的日志文件 (dayly)
)
# systemctl restart logrotate.service
# sysctl net.ipv4.ping_group_range="1 0"
# sysctl net.ipv4.ping_group_range="0 2147483647"
如果是 Rocky Linux & RHEL:
ping: socket: Address family not supported by protocol
如果是 openSUSE & SLES:
Error: ping: socket: Operation not permitted
# vim time_format_conversion.pl
创建以下内容:
s/(1\d{9})/localtime($1)/e
(补充:这里以创建名为 time_format_conversion.pl 的用于转换 auditd 日志时间格式的脚本为例)
# cat /var/log/audit/audit.log | perl -p time_format_conversion.pl
或者:
# less /var/log/audit/audit.log | perl -p time_format_conversion.pl
或者:
# more /var/log/audit/audit.log | perl -p time_format_conversion.pl
或者:
# head /var/log/audit/audit.log | perl -p time_format_conversion.pl
或者:
# tail /var/log/audit/audit.log | perl -p time_format_conversion.pl
或者:
# tail -f /var/log/audit/audit.log | perl -p time_format_conversion.pl
(补充:这里以使用名为 time_format_conversion.pl 的用于转换 auditd 日志时间格式的脚本为例)
# /usr/sbin/ausearch --start $(date +\%m/\%d/\%Y -d "-1 month") -i --input-logs | egrep "/sftp*[0-9a-zA-Z].*txt.*nametype=" | grep -v Log.txt | awk '{print $2,$3,$6}' | uniq
(补充:这里以显示在 /sftp 目录下以 txt 结尾的文件的 auditd 日志为例)
# vim /etc/audit/rules.d/audit.rules
添加以下内容:
......
-a exit,always -F dir=/tmp -F perm=rwxa
(补充:这里以监控目录 /tmp 里的目录和文件为例)
# vim /etc/audit/rules.d/audit.rules
添加以下内容:
......
-a exit,always -S unlink -S unlinkat -S rmdir -S rename -S renameat -F path=/dev/null
(补充:这里以监控目录 /dev/null 文件为例)
# service auditd restart
# cat /var/log/audit
(
补充:记录里的
1) nametype=CREATE 字段代表创建
2) nametype=NORMAL 字段代表普通
3) nametype=DELETE 字段代表删除
)
或者:
# sudo ausearch -i -k user-modify
(补充:这里以显示文件被修改的记录为例)