前言
history只能记录最近一千条记录,而且只能本账号排查,当服务器存在多个用户时管理不便,因此将history持久化利于排查问题。
Ctrl+C
将以下代码粘贴到
/etc/profile
末尾保存即可
#history
LOGIN_USER=`who -u am i 2>/dev/null| awk '{print $1}'`
LOGIN_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ ! -d /opt/ylbzj/cmd_history ]
then
mkdir /opt/ylbzj/cmd_history
chmod 777 /opt/ylbzj/cmd_history
fi
if [ ! -d /opt/ylbzj/cmd_history/${LOGIN_USER} ]
then
mkdir /opt/ylbzj/cmd_history/${LOGIN_USER}
chmod 300 /opt/ylbzj/cmd_history/${LOGIN_USER}
fi
export HISTFILE="/opt/ylbzj/cmd_history/${LOGIN_USER}/history"
shopt -s histappend
PROMPT_COMMAND="history -a"
HISTFILESIZE=50000
HISTSIZE=10000
说明
#history
## 获取当前登录用户
LOGIN_USER=`who -u am i 2>/dev/null| awk '{print $1}'`
## 获取当前登录用户ip
LOGIN_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
## 判断文件夹是否存在 不存在则创建
if [ ! -d /opt/ylbzj/cmd_history ]
then
mkdir /opt/ylbzj/cmd_history
chmod 777 /opt/ylbzj/cmd_history
fi
## 为用户创建目录
if [ ! -d /opt/ylbzj/cmd_history/${LOGIN_USER} ]
then
mkdir /opt/ylbzj/cmd_history/${LOGIN_USER}
## 目录授权
chmod 300 /opt/ylbzj/cmd_history/${LOGIN_USER}
fi
## 写入的文件名,使用同一个名字否则history无法展示历史记录
export HISTFILE="/opt/ylbzj/cmd_history/${LOGIN_USER}/history"
## 使用追加模式写入
shopt -s histappend
## 每执行一次写入文件
PROMPT_COMMAND="history -a"
HISTFILESIZE=50000
HISTSIZE=10000
文件内容如下
文件名&文件内容
格式化history输出
直接执行以下命令,重新登录机器,history命令即可格式化
echo "HISTTIMEFORMAT=\"%F %T \"" >> /etc/bashrc
echo "export HISTTIMEFORMAT" >> /etc/bashrc
效果如下
image.png
创建账号并赋予root权限
1.添加账号
2.修改密码
3.将用户uid修改为0(即root账号的uid)
useradd zhiaiyahong
echo zhiaiyahong:00823|chpasswd
usermode -o -u 0 zhiaiyahong
网友评论