你的位置:首页 > 网海拾贝

生产环境下,多个普通用户登录,登录后自动记录history操作到某个统一目录保存。

具体要求:

1) 每个用户登录后自动创建子目录及history记录文件;

2) 允许用户创建history记录文件并追加内容,不允许修改和删除;

3) 不允许用户修改和删除其他用户的子目录;

4) 不允许用户查看其他用户的子目录内容;

解决方案:

编写 /etc/profile 文件,添加下面内容

# securiry record history
# add by shenxiaoran

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 /tmp/user_history ];then
    mkdir /tmp/user_history
    chown root.root /tmp/user_history
    chmod 777 /tmp/user_history
    chattr +a /tmp/user_history
fi

if [ ! -d /tmp/user_history/${LOGNAME} ];then
    mkdir -p /tmp/user_history/${LOGNAME}
fi

export HISTTIMEFORMAT='%F %T '
export HISTSIZE='40960'
time=$(date '+%Y%m%d-%H:%M:%S')
export HISTFILE="/tmp/user_history/${LOGNAME}/${USER_IP}[$time]"
chmod 600 /tmp/user_history/${LOGNAME}/*history* 2>/dev/null

保存

# source  /etc/profile 生效

测试:

创建普通用户,passwd 用户口令,使用普通用户登录

普通用户登录后不会创建history记录文件,退出后立即生成,如下所示:

# ll /tmp/user_history/shen/
total 8
-rw------- 1 shen shen 227 Mar 12 15:21 192.168.11.50[20150312-15:21:30]
-rw------- 1 shen shen 259 Mar 12 16:36 192.168.11.50[20150312-15:40:58]

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。