linux系统记录登录用户的所有操作

(base) root@lnpg \~# mkdir -p /db/user_audit

(base) root@lnpg \~# touch /db/user_audit/user_audit.log

(base) root@lnpg \~# chown nobody:nobody /db/user_audit/user_audit.log

(base) root@lnpg \~# chmod 002 /db/user_audit/user_audit.log

(base) root@lnpg \~# chattr +a /db/user_audit/user_audit.log

(base) root@lnpg \~# vi /etc/profile

/etc/profile

复制代码
export HISTORY_FILE=/db/user_audit/user_audit.log
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}")  #### $(id|awk "{print \$1}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'

(base) root@lnpg \~# source /etc/profile

新开窗口做操作,可以看到实时的记录到用户的操作

(base) root@lnpg \~# tail -f /db/user_audit/user_audit.log

2025-10-20 11:57:07 ##### root pts/2 (10.168.20.66) #### uid=0(root) #### source /etc/profile

2025-10-20 11:57:33 ##### root pts/4 (10.168.20.66) #### uid=0(root) #### history|head

2025-10-20 11:57:42 ##### root pts/4 (10.168.20.66) #### uid=0(root) #### pwd

2025-10-20 11:57:49 ##### root pts/4 (10.168.20.66) #### uid=0(root) #### ls

2025-10-20 11:57:58 ##### root pts/4 (10.168.20.66) #### uid=54323(dmdba) #### exit

2025-10-20 11:58:05 ##### root pts/4 (10.168.20.66) #### uid=54323(dmdba) #### free -h

将文件名按日志保存写入:

复制代码
export CURRENT_DATE=$(date "+%Y-%m-%d")
export HISTORY_FILE=/db/user_audit/user_audit_${CURRENT_DATE}.log
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}")  #### $(id|awk "{print \$1}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'


=========================

(base) [root@lnpg ~]# chmod -R 777 /db/user_audit/
chmod: changing permissions of '/db/user_audit/user_audit.log': Operation not permitted
(base) [root@lnpg ~]# ll /db/user_audit/*
-rwxrwxrwx 1 root   root    294 Oct 20 13:32 /db/user_audit/user_audit_2025-10-20.log
--------w- 1 nobody nobody 2347 Oct 20 13:31 /db/user_audit/user_audit.log
(base) [root@lnpg ~]# chown -R nobody:nobody /db/user_audit/
chown: changing ownership of '/db/user_audit/user_audit.log': Operation not permitted

https://chat.deepseek.com/share/x4feonhrk3w1vifbvq

相关推荐
Linux-lucky5 小时前
21-Linux学习之旅之HTTPS和安全加固
linux·运维·学习·ubuntu·https
St_rive5 小时前
Page Object设计模式
java·开发语言·设计模式
风流 少年6 小时前
Spring AI 2.0:SSE
java·人工智能·spring
清水白石0086 小时前
Python 死锁排查全攻略:从线程卡死到锁依赖定位与工程化修复
linux·网络·python
凤山老林6 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
ao-weilai7 小时前
Linux基础:Ext系列文件系统
linux·运维·服务器
qq_349447957 小时前
Linux系统,安装git,从使用git下载仓库(GitHub, Gitee, GitLab 等),并且使用ssh密钥,可以直接执行git pull
linux·git·ssh
Aphelios3808 小时前
一次锁内网络IO引发的Tomcat线程池“饿死”事故
java·开发语言·spring boot·elasticsearch·tomcat·网络io阻塞·线程池耗尽
不可求~9 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++
Lam Tang9 小时前
APS 系列文章10
java·代理模式