centos配置history记录每个用户执行过的命令
2018-01-29 22:24
555 查看
对于系统管理员而言,history是一个很重要的命令,它能显示出之前在shell中执行过的命令,如果服务器发生异常,可以从这些命令中分析造成问题的原因。但是history显示的信息有局限性,默认保存最近的1000条命令,从历史信息中只能看到某个命令的执行有可能导致系统出了问题,对于进一步的追踪问题却无济于事。若能定位到是哪个用户在哪个时间在哪执行的命令,那将是多么愉快的一件事情!说了这么多,进入正题,centos中具体配置如下:
在/etc/profile中加入以下脚本
[plain]
view plain
copy
#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/usr/share/.history
if [ -z $USER_IP ]
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null
这段脚本的作用是把每个用户执行的命令记录在/usr/share/.history下以用户名命名的目录下,历史记录文件名根据用户ip和时间命名。打开/usr/share/.history目录会发现里边保存了之前记录的历史命令文件
在/etc/bashrc中加入几个环境变量,用于history命令显示用户ip等内容
[plain]
view plain
copy
#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` "
export HISTTIMEFORMAT
在终端中输入 history,显示效果如下:
显示的结果中多了时间戳,ip,用户名等信息。
转载于:http://blog.csdn.net/a806267365/article/details/40581159
在/etc/profile中加入以下脚本
[plain]
view plain
copy
#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/usr/share/.history
if [ -z $USER_IP ]
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null
这段脚本的作用是把每个用户执行的命令记录在/usr/share/.history下以用户名命名的目录下,历史记录文件名根据用户ip和时间命名。打开/usr/share/.history目录会发现里边保存了之前记录的历史命令文件
在/etc/bashrc中加入几个环境变量,用于history命令显示用户ip等内容
[plain]
view plain
copy
#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` "
export HISTTIMEFORMAT
在终端中输入 history,显示效果如下:
显示的结果中多了时间戳,ip,用户名等信息。
转载于:http://blog.csdn.net/a806267365/article/details/40581159
相关文章推荐
- centos配置history记录每个用户执行过的命令
- centos配置history记录每个用户执行过的命令
- centos配置history记录每个用户执行过的命令
- centos配置history记录每个用户执行过的命令
- CentOS配置history记录每个用户执行过的命令
- linux 命令执行历史记录history显示执行时间和用户
- 利用PROMPT_COMMAND记录每个用户执行命令的时间ip等信息。
- 用日志记录Linux用户执行的每一条命令(history)
- 利用PROMPT_COMMAND记录每个用户执行的历史命令
- 解决CentOS 7 history命令不显示操作记录的时间和用户身份问题 推荐
- 用日志记录Linux用户执行的每一条命令(history)
- 用日志记录Linux用户执行的每一条命令(history)
- centos7.1下虚拟网卡配置方法dns.ip地址配置及更改和添加samba服务器登陆用户的密码命令
- Linux History安全问题【保存记录防止删除】+完善Linux/UNIX审计 将每个shell命令记入日志
- 记录一次centos6.4版本的VSFTP本地用户登陆的配置
- 记录每个用户的 登入 和 记录他们的命令 (sudo 也适用)
- Linux下查看用户登陆后的操作记录及history命令显示时间
- history命令记录历史执行时间
- 理解Linux环境变量及配置文件执行顺序 博客分类: Linux 每个用户都有自己专属的运行环境,这个环境是由一组变量所定义,这些变量称之为环境变量。用户可以修改环境变量以满足自己的要求。