Linux sudo用户权限管理和审计-初步
1、设置历史指令的保存数量
默认history指令可以查看当前用户执行的1000条历史命令的条目
2、使用export指令设置HISTSIZE环境变量的数量为999999条。

3、基于date指令,输出日期和时间

4、设置linux系统history相关变量,命令时间、保存history条数,多session共享history
若想同时显示历史命令的时间、日期以及操作者,则这样添加:
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S:`whoami`
备份配置文件
使用shell脚本后
bash
cat >>/etc/profile<<WCG
# $(date +%F-%T) wcg
export HISTTIMEFORMAT="%F %T:\`whoami\`"
export HISTSIZE=999999
# $(date +%F-%T) wcg
WCG
bash
cat -n /etc/profile | tail
使用指令重新加载/etc/profile立刻执行
bash
source /etc/profile
. /etc/profile

使用vim修改文件
bash
vim +$ /etc/profile
bash
user_ip=`who -u am i 2>/dev/null| awk '{print $NF}' |sed -e 's/[()]//g'`
if [ "$user_ip" = "" ]
then
user_ip=`uname -n`
fi
if [ ! -d /opt/loginlog ]
then
mkdir -p /opt/loginlog
chmod 777 /opt/loginlog
fi
if [ ! -d /opt/loginlog/${LOGNAME} ]
then
mkdir /opt/loginlog/${LOGNAME}
chmod 300 /opt/loginlog/${LOGNAME}
fi
export HISTSIZE=999999
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/opt/loginlog/${LOGNAME}/${user_ip}_loginlog.$DT"
chmod 600 /opt/loginlog/${LOGNAME}/*loginlog* 2>/dev/null
在/opt/loginlog目录下新建各个用户的历史指令目录

时间戳转换