linux centos7 增加操作日志记录

2023-05-28,,

2021-08-24

1. 需求产生原因

linux 系统中的日志存放在目录 /var/log/ 下,今天想看看我之前的操作记录,发现系统中的日志并不包括各个用户操作文件的记录,所以打算自己建一个。

2. 创建日志存放目录

# 创建日志存放目录
mkdir -p userlogin/records # 给目录添加最高权限 777
# 表示 records 在该用户,该用户同组用户以及其他用户都有读写执行的权限
chmod 777 userlogin/records/ # 使用户对 records 具有写权限但是不能删除该文件
chmod +t userlogin/records/

3. 配置环境变量

vi /etc/profile
# 用户操作日志
# [ -d FILE ] 如果 FILE 存在且是一个目录则为真
if [ ! -d /var/log/userlogin/records/${LOGNAME} ]
then
mkdir -p /var/log/userlogin/records/${LOGNAME}
chmod 777 /var/log/userlogin/records/${LOGNAME}
fi export HISTORY_FILE="/var/log/userlogin/records/${LOGNAME}/bash_history"

# 将时间、用户、终端、ip以及执行的命令记录下来
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T *** $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") *** $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'

生效配置文件

source /etc/profile

4. 测试

# 查看 root 操作日志
cd /var/log/userlogin/records/root # 进行一些简单的操作后查看 bash_history 中是否生成记录
cat bash_history

linux centos7 增加操作日志记录的相关教程结束。

《linux centos7 增加操作日志记录.doc》

下载本文的Word格式文档,以方便收藏与打印。