搭建服务器操做记录(一)

 

这种操做超级low逼,只要操做用户在exit以前将history清除,那就没有记录了。bash

==============================================================spa

在/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 /Operation/records ]
then
mkdir -p /Operation/records
chmod -R 777 /Operation
fi
if [ ! -d /Operation/records/${LOGNAME} ]
then
mkdir /Operation/records/${LOGNAME}
chmod -R 766 /Operation/records/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/Operation/records/${LOGNAME}/${USER_IP} records.$DT"
chmod -R 766 /Operation/records/${LOGNAME}/*records* 2>/dev/null

umask 0003code

 

=================下面这个的作法显然高档不少,但要注意权限的控制,否则人家本身就去把记录删了就很差了,最好加一个a,i啥的权限把============blog

一、which script (通常如今系统中都已经自带这个命令了)ip

二、建立对应的文件夹mkdir /var/log/script而且其它用户必定要给到7的权限的时候系统才能写入操做记录。it

三、sudo chmod 777 /var/log/script  (固然这个目录能够建到别的地方)io

四、source  /etc/profile  使环境生效。function

五、在/etc/profille文件的最后一行加上一下内容。

if  [ $UID - ge  0 ];  then
         exec  /usr/bin/script  -t 2> /var/log/script/ $USER-$UID-` date  +%Y%m%d%H%M`. date  -a -f -q  /var/log/script/ $USER-$UID-` date  +%Y%m%d%H%M`.log
fi
参数:
    -t    指明输出录制的时间数据
    -f     若是须要在输出到日志文件的同时,也能够查看日志文件的内容,可使用 -f 参数。PS:能够用于教学,两个命令行接-f能够实时演示
    -a     输出录制的文件,在现有内容上追加新的内容
    -q     可使script命令以静默模式运行

注意:

  • 我这里把用户ID大于0的都记录下来了,你能够从新登陆用户,随便操做一些命令,查看生成的文件。

  • root用户的ID为0,新建普通用户的UID是从500开始的(经过cat /etc/password能够查看用户的UID),若是你不想记录root用户的操做,你把if里面的值改为500:  if [ $UID - ge 500 ];

  • 主目录权限问题往后再加。
相关文章
相关标签/搜索