分类目录归档:经验闲谈

Linux下记录操作系统用户登录及操作日志

背景:Linux操作系统本身有默认部分功能的日志记录功能,比如用户登录信息可以在 “/var/log/aduit”目录下查到,但是如果想要查询到哪些操作系统用户进行了什么操作命令,需要独立做审计功能设置(相对麻烦),这里用另外一种方式来实现,不采用系统的审计功能,来记录操作系统的登录信息及所有操作日志信息。这样当系统出现误操作而造成重要的数据丢失,就能查到是谁操作的(当然需要先解决问题再定责)。 具体执行命令如下(注意备份):

root进入根目录编辑/etc/profile文件,在文件末尾加入下面代码:

[root@devfin]# cd
[root@devfin]# vi /etc/profile

#add by pm 20181221 record os users operation commands.

history
USER=`whoami`
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 /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null


以下界面是自己做实验的结果:

Oracle EBS控制会话时间及超时

1. ICX:会话超时                            ICX:Session Timeout
            定义系统保持一个非活动的用户会话的超时间隔。默认为1800000毫秒(30分钟)。

2. ICX:限制时间                            ICX: Limit time
            定义系统保持一个用户会话的最长登陆时间。默认为4个小时。

3. IEU:桌面:会话超时(分钟)  IEU: Desktop: Session Timeout( min )
            = 30|60|90|120|150|180|210|240 = 90
    不仅仅是ICX:session.timeout 设置。在Jserv中也有一个session.timeout,(zone.properties文件中)它默认的值为30分钟。
这两个值以最小的一个为准。在EBS profile的ICX:session.timeout值设的再大。Jserv 的session.timeout的值不改也起不了作用。
但Jserv的session.timeout值oracle建议最大为30分钟。设的过大会造成JVM内存出错。
(这个是不是可以解释为什么更改了会话超时的时间,但仍然没有什么效果?),这个根据我之前的实际测试,icx:限制时间最好不要更改,直接修改icx:会话超时(一般也不要超过4小时)就没问题了。