失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux 登入用户记录 linux记录所有用户登陆及执行过的命令脚本

linux 登入用户记录 linux记录所有用户登陆及执行过的命令脚本

时间:2021-01-20 10:53:48

相关推荐

linux 登入用户记录 linux记录所有用户登陆及执行过的命令脚本

第一个窗口

[root@hdss7-4 ~]# echo "

history

USER=`whoami`

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`

if [ "$USER_IP" = "" ]; then

USER_IP=`hostname` ## 获取ip 并且存到变量中

fi

if [ ! -d /var/log/history ]; then

mkdir /var/log/history ## 判断该目录下 是否有此目录如果没有则新建且开启 777权限

chmod 777 /var/log/history

fi

if [ ! -d /var/log/history/${LOGNAME} ]; then

mkdir /var/log/history/${LOGNAME} ## 判断 /var/log/history目录下有没有 当前登录的用户文件夹,如果没有则创建且设置 300 权限 LOGNAME: 是当前登录的用户名 例如 ubuntu或root

chmod 300 /var/log/history/${LOGNAME}

fi

## 最后更改全局的HISTFILE变量

export HISTSIZE=4096 ##更改HISTFILE 大小

DT=`date +"%Y%m%d_%H:%M:%S"`

export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"

## 全局更改 HISTFILE的日志存放目录 默认 每个用户下面都有自己的bash.history 这样做是为了集中管理记录这些命令日志,

##修改了全局变量 HISTFILE 就等于修改了 全部用户的HISTFILE设置。

##所以 最终呈现的效果就是 在用户退出远程连接时 才会记录到日志中。

## 此操作 其实 就是 更改了各个用户的history存储目录且日志文件名字有所变化其他的都跟原来一样。

chmod 600 /var/log/history/${LOGNAME}/history 2>/dev/null

">>/etc/profile

[root@hdss7-4 ~]# source /etc/profile

[root@hdss7-4 ~]# useradd zhangsan

[root@hdss7-4 ~]# echo "aaaaaa" | passwd --stdin zhangsan

新开一个窗口(就是第二个窗口)

rambo@rambo:~$ ssh zhangsan@172.16.186.23

任意执行进行测试

回到第一个窗口进行查看

标签:脚本,log,HISTFILE,##,用户,USER,linux,var,history

来源: /smlile-you-me/p/14429457.html

如果觉得《linux 登入用户记录 linux记录所有用户登陆及执行过的命令脚本》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。