首先我们创建一个放操作记录的日志文件
代码如下 | 复制代码 |
touch /var/log/rootlog.txt |
给这个文件相应的写权限和追加权限
代码如下 | 复制代码 |
chmod 002 /var/log/rootlog.txt chattr +a /var/log/rootlog.txt |
编辑/etc/profile文件,末尾添加如下脚本命令
代码如下 | 复制代码 |
export HISTORY_FILE=/var/log/usermonitor/usermonitor.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' |
使配置生效
代码如下 | 复制代码 |
source /etc/profile |
嘿嘿,这样就算完成了,用户的所有操作记录都会乖乖的记录在这个文件中了。
记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:
代码如下 | 复制代码 |
PS1="`whoami`@`hostname`:"'[$PWD]' history USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ] then USER_IP=`hostname` fi if [ ! -d /tmp/dbasky ] then mkdir /tmp/dbasky chmod 777 /tmp/dbasky fi if [ ! -d /tmp/dbasky/${LOGNAME} ] then mkdir /tmp/dbasky/${LOGNAME} chmod 300 /tmp/dbasky/${LOGNAME} fi export HISTSIZE=4096 DT=`date " %Y%m%d_%H%M%S"` export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT" chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null |
其实通过上面的代码不能看出来,在系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址,是不是觉得很方便呢?我们还可以用这个方法来监测系统的安全性。
时间: 2024-10-02 21:31:03