linux centos7 增加操作日志记录


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 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM