这是一个将所有执行的命令发送到syslog服务器的解决方案.

以下是将用户执行的所有命令的副本发送到Syslog服务器的两种方法.第一个将使用Bash“陷阱”功能.第二个是在Bash源代码中应用的补丁.

使用陷阱

只需在/ etc / profile中添加以下行:

function log2syslog

{

declare command

command=$(fc -ln -0)

logger -p local1.notice -t bash -i — $USER : $command

}

trap log2syslog DEBUG

在Bash启动时解析并执行/ etc / profile.目标是使用陷阱功能,并在每次用户生成活动时调用函数.陷阱功能(log2syslog)将从历史记录中提取最后一个命令,并使用logger命令将其记录到Syslog.很容易实现,但这种方法:

spawns new process at each command logged (can have a negative effect when the server activity is high)

is not transparent to the user (regular users can’t edit /etc/profile but can read it!)

这就是为什么第二种方法将是首选的原因.

使用补丁

该方法是在Bash源树上应用补丁并重新编译shell.它需要一个带有编译器和源代码的环境,但这种方法将使用更少的cpu并且将完全透明!

可以使用here的补丁示例.将补丁手动应用于Bash 4源树需要五分钟.

以下是Syslog消息的示例:

Feb 27 19:30:51 honey bash: HISTORY: PID=21099 UID=1000 echo foo!

linux ksh 历史命令,防止Linux中的bash(和ksh)历史记录更改相关推荐

  1. linux挑战:历史命令_博客挑战:分享您关于社区运作方式的知识

    linux挑战:历史命令 通过博客每周社区管理主题来帮助我们收集社区知识. 本周的主题是鼓励新的贡献者. 社区是使开源软件正常工作的原因. 没有两个开源软件是相同的,因此没有两个社区是相同的,但是它们 ...

  2. linux的网络命令整理 更新中

    linux的网络命令整理 更新中 1.安装包: net-tools 主要命令: netstat , ifconfig , route , iptunnel iproute 主要命令: ss , ip ...

  3. Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)之二——只改变第一出现的那一行

    一.背景 在之前的文章中有介绍过<Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)> 但是这种方法存在一定的问题,就是假如某个变量在一个文件中出现两次,却只想更改 ...

  4. Linux查找历史命令

    Linux查找历史命令 history | grep xxx 查看带有xxx的历史命令

  5. Linux(11)--(历史命令)Ctrl+r, history,!

    日常用到的指令 1.Ctrl+r--匹配查找历史命令 2.history [n] --列出历史命令 3.!--执行历史命令 1.Ctrl+r–匹配查找历史命令 按照模糊印象查询历史命令:就用Ctrl+ ...

  6. LInux 项目二命令总结,linux项目管理常用命令小结

    当前位置:我的异常网» 项目管理 » linux项目管理常用命令小结 linux项目管理常用命令小结 www.myexceptions.net  网友分享于:2015-08-26  浏览:13次 li ...

  7. linux 限制带宽命令,Linux服务器限制网络带宽流量速率(限制应用程序和指定网卡的流量)

    linux 限制带宽命令,Linux服务器限制网络带宽流量速率 一.限制应用程序的网络流量速率 1.trickle介绍 2.如何判断trickle对应用程序是否有效? 3.Linux安装Trickle ...

  8. linux查询用过的历史命令,在linux中,怎麼查看系统的版本,怎麼查看自己用过的历史命令...

    几种查看linux版本信息的方法: 1. uname -a 2. cat /proc/version 3. cat /etc/issue 4. lsb_release -a详解 lsb_release ...

  9. 设置linux查看历史命令显示两个小时内,linux系统中history历史命令显示执行日期和时间...

    在我们日常维护工作中,history历史命令查看是经常会用到的,特别是系统出了问题,肯定会在第一时间要查看之前都执行过什么命令,但是系统默认的history命令列表中是不显示命令执行时间和日期的,这就 ...

最新文章

  1. webservice中jaxws:server 和jaxws:endpoint的区别
  2. 免安装免配置 还免费的Spark 集群 --Databrickes Spark Clould
  3. jquery3和layui冲突导,致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
  4. Storm 的可靠性保证测试
  5. 服务器显卡驱动修复,AMD发布2020年首个显卡驱动:一口气修复27个Bug
  6. java中定时JOB的实现方式
  7. 递增的整数序列链表的插入_你所不知道的序列容器
  8. C# 汉字存入bin文件,如何存
  9. 如何花式计算20的阶乘?
  10. Spring的IoC容器实现原理(一)#loadBeanDefinition
  11. 加入商品分类信息,考虑用户所处阶段的 图模型 推荐算法 Rws(random walk with stage)...
  12. 安装axios太慢解决方案
  13. Qt语言家使用中遇到的问题及解决方案
  14. 如何在自定义Filter中优雅的实现静态资源放行
  15. nginx的网页压缩以及图片的压缩
  16. C语言 - 求阶乘和
  17. c++实现求梯形面积
  18. 空间管理 - 碎片化问题及解决思路
  19. 快递管理系统(面向对象+MVC+集合+IO)
  20. 为你的树莓派安装xbox手柄驱动~

热门文章

  1. 我的小作品(烂笔头)
  2. 【测试】RPA产品初体验
  3. 【PP】长交期计划(LTP)简介
  4. SAP ABAP Debug 小技巧
  5. 【重复制造精讲】2、主数据介绍
  6. SAP AUTHORITY-CHECK 的使用
  7. SAP FI模块与SD、MM的接口配置
  8. SAP实施项目中顾问与客户的有效沟通
  9. 数据分析精华经验分享,看看冠军是如何炼成的?
  10. 瑞幸:不会死,也没有稳