• 设备
    • 今日
    • 1

    linux-记录远程登录IP及操作记录

    测试环境 RHEL 5.6 bash

    linux 下可以用 w 来查看当前登录用户信息;如果是SSH登录,也可查看 $SSH_CLIENT 得到登录用户信息,但如果是FTP等方式,则无法得到需要的信息;

    但用 w 有个问题,如果是同个用户登录,则有多条信息,如果区分是个问题;最后解决方法如下:

    w | tail -n +3 | awk 'BEGIN {ip="local"}{if ($5=="0.00s" || $3 != "-") ip=$3 fi} END {print ip}'


    linux 下可以用history 查看历史执行命令,但默认没有记录操作时间,也无法查看是哪个客户端执行的命令;

    可以用/usr/bin/script 来记录用户操作;


    结合以上两个功能,可以将如下命令加入到 /etc/profile里面,执行记录用户IP及操作记录日志文件目录:/var/log/script/

    exec /usr/bin/script -a -f -q /var/log/script/$USER-`date +%Y%m%d%H%M`-`w | tail -n +3 | awk 'BEGIN {ip="local"}{if ($5=="0.00s" || $3 != "-") ip=$3 fi} END {print ip}'`.log

    注:普通用户登录图形界面有问题,还没找出问题


    或者,将如下命令加入到 /etc/profile最后一行,通过history命令查询:

     export HISTTIMEFORMAT="%F %T `who am i` "




    来自:PC 广东省广州市
    上一篇: ActiveMQ实现负载均衡+高可用部署方案
    您可能还喜欢这些:

    亲,沙发正空着,还不快来抢?

    评论审核已开启:即评论经审核才能正常显示! 记住我的个人信息 回复后邮件通知我