PROMPT_COMMAND:这个变量的内容会在现实bash提示符前执行。

所以我们可以利用这个变量来纪律每个用户执行的命令

具体脚本如下:

export PROMPT_COMMAND='{ date "+[ %Y%m%d %H:%M:%S `whoami` ] `history 1 | { read x cmd; echo "$cmd      from ip:$SSH_CLIENT   $SSH_TTY"; }`"; }>> /home/pu/login.log'

这个脚本来自Linux系统架构运维的 广州{宅男} 在群里提供,我记录下来,希望对需要的人有用。

解释:

这条命令会把上条命令(history 1)的时间(date )、用户(whoami)、命令字($cmd)、客户端ip($SSH_CLIENT)、tty($SSH_TTY)写入/home/pu/login.log文件。

Bash Prompt HOWTO

http://tldp.org/HOWTO/Bash-Prompt-HOWTO/index.html

转载于:https://blog.51cto.com/chenchao40322/411855

利用PROMPT_COMMAND记录每个用户执行命令的时间ip等信息。相关推荐

  1. linux记录用户命令的日志是,用日志记录Linux用户执行的每一条命令

    用日志记录Linux用户执行的每一条命令 用日志记录Linux用户执行的每一条命令 工作中,需要把用户执行的每一个命令都记录下来,并发送到日志服务器的需求,为此我做了一个简单的解决方案.这个方案会在每 ...

  2. 开关机自动执行脚本方法[以及切换用户执行命令方法]

    [开关机自动执行脚本方法] 摸索了两天,终于找找们到了: 首先要明确的一点是:unix(含linux)的OS有若干个运行级别: 参见1:http://xiaoli.itpub.net/post/398 ...

  3. [sh]rm -rf*的防护和普通用户执行命令

    尽量用普通用户执行,因为普通用户无法删除root的文件,避免误删除 rm -rf 不可取, 尽量find+rm -rf 尽量cd && rm -rf * 加上逻辑 cd /tmp/re ...

  4. php利用wsh突破函数禁用执行命令(安全模式同理)

    php利用wsh突破函数禁用执行命令(安全模式同理) 很多时候有些windows的服务器是支持wsh组建的,但是却执行不了命令,asp下执行被拒绝,php下执行报错,此时你可以借鉴以下的方法尝试. p ...

  5. 通过bginfo小工具让用户自己查看用户名与IP地址信息

    通过bginfo小工具让用户自己查看用户名与IP地址信息 https://blog.51cto.com/wangzhaowei/1337848 王兆伟1390人评论3390人阅读2013-12-07 ...

  6. 如何以nobody用户执行命令?

    最近在logstash中使用nobody用户启动logstash,一想,nobody用户的shell不是/sbin/nologin吗? 不能登录执行命令呀? 于是看了一下它的启动脚本,是使用其他方式进 ...

  7. “泰迪杯”挑战赛 -利用收视记录定义用户画像(基于爬虫数据分析)

    目录 一. 引言 1.1 背景 1.2 研究内容 1.3 研究思路 二.数据预处理 2.1 附件 1:用户收视信息 2.1.1 用户收视信息 2.1.2 用户回看信息 2.1.3 用户点播信息 2.1 ...

  8. java jsch 切换用户_如何在java中使用Jsch切换到root用户执行命令?

    我正在尝试通过使用私钥建立的ssh连接执行一组命令.为此我在java中使用了JSCh和Session类. 以下是代码: java.util.Properties config = new java.u ...

  9. linux命令哲学,Linux哲学思想、history实现执行命令的时间、Linux命令格式

    1.Linux哲学思想 (1)一切皆是文件(包括硬件),所有都以文件形式显示. (2)小型,单一用途的程序 (3)链接程序,共同完成复杂的任务 (4)命令提示符为主 (5)配置数据存储在文本中 2.临 ...

  10. Linux上用户执行命令记录

    HFILE=`who -m | awk '{print $1}'` readonly HISTFILE=/var/history/$HFILE-$USER-$UID.log readonly HIST ...

最新文章

  1. Android DialogFragment 遇到 java.lang.IllegalStateException: Fragment already added: 的解决方法
  2. 脑电植入:治疗抑郁症的新方法?重磅!UCSF研究人员成功治疗一例重度抑郁症患者...
  3. 全球四大农业贸易数字化-丰收节贸易会:谋定粮食区块链
  4. Brave devil
  5. 【操作系统】多道程序的理解
  6. Leetcode每日一题:226.invert-binary-tree(翻转二叉树)
  7. 推荐系统思维导图——第二章
  8. 移动**21*设置无法接通_手机通话质量不好?你可能只差一步设置!
  9. 数据分析五板斧与里面的屠龙刀(下)
  10. 【技术分享】select下拉框option默认选中(php模板渲染)
  11. Android AMS 与 APP 进程通信
  12. CentOS7.6腾讯云中域名的备案详细流程
  13. 一文看懂AutoML
  14. 什么叫智能服务器sn,一篇文章告诉你何为服务器端车牌智能识别
  15. 荣耀8X0安卓系统切换鸿蒙系统,华为大改安卓Q,EMUI 10将启用全新UI,花粉沸腾:静候鸿蒙...
  16. 将北京时间转换为世界协调时
  17. OpenGL 亮度调节
  18. 吐血分享:QQ群霸屏技术教程2017(维护篇)
  19. 这几天来的第一篇日志
  20. HTML+css+javascript面试题

热门文章

  1. 神经网络入门--学习资源
  2. UJAM Beatmaker VICE for Mac(80年代风格鼓机插件)
  3. macOS Recovery中修复磁盘的具体操作方法
  4. 怎么用EasyRecovery恢复硬盘内被误删的数据
  5. Sklearn流水线交叉验证以及超参数网格交叉评估基础案例实战-大数据ML样本集案例实战...
  6. webpack+vue动态加载组件尝试
  7. 删除putty的session 以及 putty的颜色设置值
  8. js里写网页结构, 传函数参数
  9. Zimbra的zmcontral服务无法起来,提示ldap有问题。
  10. 本周小结!(回溯算法系列三)