位置: 编程技术 - 正文

shell如何记录用户的IP与命令详解(shell 记录日志)

编辑:rootadmin

推荐整理分享shell如何记录用户的IP与命令详解(shell 记录日志),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell查询历史命令,shell 查询,shell 记录日志,shell 记录日志,shell查询历史命令,shell记录脚本执行时间,shell 记录日志,shell记录时间,内容如对您有帮助,希望把文章链接给更多的朋友!

记录输入的命令

history命令可以查看用户输入过的命令,一个典型history命令输出如下:

记录IP

为了记录用户的IP,需要首先获取用户的登录IP。由于在用户登入期间,会话不会断开,所以只需获取一次即可。

获取IP命令: who am i | awk '{print $NF}' | sed -e 's/[()]//g' 。

接着按照 username@ip datetime command 的格式记录用户的命令,这需要设置HISTTIMEFORMAT的值。获取IP和设置命令格式结合起来:

为了让上述命令对所有用户生效,可将其写到/etc/profile文件中。设置完毕后(可能需要重新登录,或者用source命令重新加载/etc/profile),history命令输出如下类似结果:

shell如何记录用户的IP与命令详解(shell 记录日志)

history命令的内容保存在用户的~/.bash_history文件中,用户可随时更改或者清除。为了统一管理用户的命令记录,我们希望用户执行命令后,执行的命令能输出到某个文件内。达到这个目的需要 PROMPT_COMMAND 环境变量的协助。

设置PROMPT_COMMAND将用户的上一条命令log到syslog里面去:

logger命令将信息输出到/var/log/messages中。任意输入一个命令,然后打开/var/log/messages,会看到已经记录在案。/var/log/messages文件只有root有权限访问,从而达到了记录用户IP和命令的目的。

如果你熟悉syslog,可以将命令记录输出到单独的文件中。这需要在logger命令的-p选项中指定工具名称和等级,例如local2.notice,然后编辑/etc/rsyslog.conf,将local2的信息输出到单独文件: local2.* /var/log/command.log,最后重启rsyslog服务。

通过如上设定,即可在用户无感知的情况下log用户的IP、时间和操作命令。

对用户来说,如何绕过?可以有两种方式:

将命令写到脚本,执行脚本; unset PROMPT_COMMAND变量。

参考

详谈Linux写时拷贝技术(copy-on-write)必看篇 COW技术初窥在linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了写时复制技术,

Linux 中wget命令详细介绍 两个Linux命令wget和exec一个linux命令:wgetftp访问命令来下载文件的三种方式1)

shell脚本实现多彩进度条 先贴代码#!/bin/bashi=0;str=""arr=("|""/""-""\")while[$i-le]doletindex=i%4letindexcolor=i%8letcolor=+indexcolorprintf"e[0;$color;1m[%-s][%d%%]%cr""$str""$i""${arr[$index]}"sleep0.1leti++

标签: shell 记录日志

本文链接地址:https://www.jiuchutong.com/biancheng/378212.html 转载请保留说明!

上一篇:在Linux与Windows上获取当前堆栈信息的方法(简述linux与windows相比,有哪些优势)

下一篇:详谈Linux写时拷贝技术(copy-on-write)必看篇(linux写时复制)

  • 防伪税控系统专用设备
  • 负数怎么在excel里输入
  • 一张报关单可以分两次退税吗
  • 金蝶可以自动结转成本吗
  • 出口企业类别在哪里查
  • 存货的领用
  • 工资没走公账走的私人账户合法吗
  • 发票查询发票代码有误
  • 固定资产可以计入实收资本吗
  • 工业企业会计报告
  • 差旅费报销单属于什么凭证?
  • 银行手续费发票怎么开
  • 库存现金盘点表是不是原始凭证
  • 季度企业所得税计算公式
  • 房地产企业收到预收款如何纳税
  • 产品成本核算的一般程序
  • 有票据的福利费是不需要职工薪酬科目过渡吗
  • 固定资产的入账价值怎么计算
  • 进项税额转出怎么申报
  • 取得的增值税发票哪些项目必须开具事项
  • 个体不超过10万怎么交税
  • 进项税额加计抵减如何申报
  • 税控盘逾期未抄报,交罚款需要带什么
  • 普通发票要写增值税吗
  • 小微企业行业划分标准 工信部
  • 货物赔偿款会计分录
  • 工会上缴40%的经费法律依据
  • 付款给对方怎么做分录
  • 公司的职工教育是指什么
  • 常见的四种POST 提交数据方式(小总结)
  • php symlink
  • yarn的配置
  • 房产税为什么会退税
  • 检测费的税票税率怎么算
  • 3d representation
  • php中url什么意思
  • 税额抵减情况表和减免税申报表
  • python中sys模块
  • 增值税改动
  • 增值税申报流程大全(附图文详解)
  • 企业改制资产整合过程中涉及的土地增值税
  • 人工费没有发票咋入帐
  • 织梦怎么用模板建站
  • 综合所得年度自行申报怎么操作
  • 非货币性资产交换以公允价值为基础进行计量
  • 行政单位福利费管理办法
  • 填制和审核会计凭证,可以监督各项经济业务的合法
  • 单位购买的化妆品怎么用
  • 发票必须包含什么内容
  • 购买预付卡如何开发票
  • 2020年申报期截止时间
  • 进项发票失控是什么意思
  • 提取备用金现金流量如何填写
  • 应收账款无法收回说明模板
  • 甲方代付农民工工资谁报个税
  • 当月工资总额如何计算
  • 月初没有发票
  • 总部结算什么意思
  • 公司水电费如何做账
  • 不动产经营租赁属于什么服务
  • 收到是怎么写
  • mysql分表命令
  • mysqldump -h
  • mysql动态sql语句赋值
  • ubuntu中怎么卸载软件
  • linux磁盘格式化后一定会清空数据吗
  • linux中的挂载命令
  • pvlsvr.exe - pvlsvr是什么进程 有什么用
  • 重装win7系统后屏幕变小了
  • linux修复工具
  • win7无法保存对权限所作的更改
  • linux userdel
  • js判断元素是否显示
  • 在一个批处理系统中
  • 如何在unity里设置碰撞体积
  • nodejs.
  • 远程批量管理windows
  • 在javascript中如果不指明对象直接调用
  • js domcontentloaded
  • js处理时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设