当前位置: 首页 > news >正文

history记录日期时间和日志记录操作

history命令能查看到操作日期和时间的配置方法:

1)在/etc/profile文件中添加一行:

export HISTTIMEFORMAT="%F %T `whoami` "

2)保存后,执行加载命令:

source /etc/profile

 3)然后检查History命令的执行结果:

日志记录操作:

export HISTORY_FILE=/var/log/history/`date '+%Y%m'`.logexport PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}")  #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'

在/etc/profile文件中保存上面的修改。然后创建目录:

mkdir -p /var/log/history

再加载/etc/profile文件:

source /etc/profile

检查配置结果情况:

[root@vm1 history]# cat 202308.log
2023-08-12 18:54:05 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 18:54:05 root mkdir -p /var/log/history
2023-08-12 18:54:10 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 18:54:10 root source /etc/profile
2023-08-12 18:54:12 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 18:54:10 root source /etc/profile
2023-08-12 18:54:18 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 18:54:10 root source /etc/profile
2023-08-12 18:54:20 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 18:54:20 root ll
2023-08-12 18:54:26 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 18:54:26 root cd /var/log/history
2023-08-12 18:54:26 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 18:54:26 root ll
2023-08-12 10:58:39 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 10:58:39 root history
2023-08-12 10:58:40 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 10:58:39 root history
2023-08-12 10:58:40 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 10:58:39 root history
2023-08-12 10:58:40 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 10:58:39 root history
2023-08-12 10:58:40 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 10:58:39 root history
2023-08-12 10:58:45 ##### root pts/0 (192.168.17.1)  #### 2023-08-12 10:58:45 root ll

其中,我们看到还有一个问题,就是命令被重复记录了多次。那这个应该是有办法能解决的。

将用户执行的每个shell命令记入日志比最初想象的要来得困难。shell的历史功能原本旨在帮助用户使用以前用过的命令。我们都知道这种使用场合:你刚输入了一个长长的字段,可是拼错了一个字符。shell的历史让你可以改正这一个字符,而不必输入其余的所有字符。

然而, shell历史很难满足审计的目的。换言之,它不是为了确保系统安全而设计的。

对于bash shell来说,问题显得尤其困难,因为该shell的目的是,不管用什么办法,尽可能为用户简化生活——所以,它拥有所有的“花哨功能”(bells and whistles)。必须顾及所有这些多种功能,并且防止对历史文件进行更改。

相关文章:

history记录日期时间和日志记录操作

history命令能查看到操作日期和时间的配置方法: 1)在/etc/profile文件中添加一行: export HISTTIMEFORMAT"%F %T whoami " 2)保存后,执行加载命令: source /etc/profile 3)然后检…...

RocketMQ 单机源码部署 自定义配置文件和端口以及acl权限配置解析

思路 1、我们首先配置完 namesrv和broker和acl认证的配置文件,然后直接使用-c指定配置文件来启动程序,就会非常明了,用户名密码要大于6,第一个用户我测试着不知道为什么始终有最高权限,大家尽量不要吧第一个用户给别人…...

NuGet控制台命令初步使用

查看所有安装的包, 查找包,提示Nuget版本低;安装一个更高版本; 查看所有安装的包, 查找名字包含某字符串的包, 查找名字包含某字符串的包, 安装,使用-version指定版本,可…...

2023年国赛数学建模思路 - 案例:FPTree-频繁模式树算法

文章目录 算法介绍FP树表示法构建FP树实现代码 建模资料 ## 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模式树算法&#xff0c…...

Positive Technologies:有针对性的攻击占非洲所有攻击的 68%

网络犯罪分子最常攻击的是非洲的金融公司和电信公司 Positive Technologies 分析了 2022–2023 年非洲遇到的各种网络安全威胁,并在圣彼得堡举行的第二届俄罗斯—非洲峰会上介绍了研究结果。根据我们的专家的介绍,非洲金融部门受到的网络攻击最多&#…...

Flink CDC系列之:TiDB CDC 导入 Elasticsearch

Flink CDC系列之:TiDB CDC 导入 Elasticsearch 一、通过docker 来启动 TiDB 集群二、下载 Flink 和所需要的依赖包三、在TiDB数据库中创建表和准备数据四、启动Flink 集群,再启动 SQL CLI五、在 Flink SQL CLI 中使用 Flink DDL 创建表六、Kibana查看Ela…...

未来混合动力汽车的发展:技术探索与前景展望

随着环境保护意识的增强和对能源消耗的关注,混合动力汽车成为了汽车行业的研发热点。混合动力汽车融合了传统燃油动力和电力动力系统,通过优化能源利用效率,既降低了燃油消耗和排放,又提供了更长的续航里程。本文将探讨混合动力汽…...

C进阶(2/7)前篇——指针进阶

前言:本文章讲解部分指针进阶内容。后续继续更新。 文章重点: 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 目录 前言:本文章讲解部分指针进阶内容。后续继续更新。 指针初阶了解: 1.字符指针 1.1一道有关于字…...

C 内存分配器 mimalloc

有论文 … … https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action/ 可以减少内存碎片,微软研究院2019 年开源出的内存分配器 代码,适配linux...

leetcode做题笔记74搜索二维矩阵

给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。 思…...

深信服数据中心管理系统 XXE漏洞复现

0x01 产品简介 深信服数据中心管理系统DC为AC的外置数据中心,主要用于海量日志数据的异地扩展备份管理,多条件组合的高效查询,统计和趋势报表生成,设备运行状态监控等功能。 0x02 漏洞概述 深信服数据中心管理系统DC存在XML外部实…...

【Kubernetes】Kubernetes的Pod进阶

Pod进阶 一、资源限制和重启策略1. 资源限制2. 资源单位2.1 CPU 资源单位2.2 内存 资源单位 3. 重启策略(restartPolicy) 二、健康检查的概念1. 健康检查1.1 探针的三种规则1.2 Probe 支持三种检查方法 2. 示例2.1 exec 方式2.2 httpGet 方式2.3 tcpSock…...

都错了!机械硬盘远比SSD更省电 最多领先94%

相信在绝大多数人的认知中,SSD固态硬盘因为没有HDD机械硬盘那样的移动部件,不但更稳定,还更省电。 但是,存储服务商Scality的研究表明,恰恰相反,HDD更省电。 他们以美光6500 ION 30.72TB QLC SSD、希捷银河…...

tomcat设置PermSize

最近tomcat老是报错,查看了日志出现PermGen 内存不够用,重启tomcat后查询使用情况 通过启动参数发现没有设置 PermGen,继续通过jmap查看 jmap -heap 21179 发现99%已使用,而且默认是30.5M,太小了,这里设置成256M 1. 创建setenv.sh文件 在/usr/local/tomcat/bin目录下创建一个…...

JVM——分代收集理论和垃圾回收算法

一、分代收集理论 1、三个假说 弱分代假说:绝大多数对象都是朝生夕灭的。 强分代假说:熬过越多次垃圾收集过程的对象越难以消亡。 这两个分代假说共同奠定了多款常用的垃圾收集器的一致的设计原则:收集器应该将Java堆划分出不同的区域&…...

jar包独立运行的几种方式

linux启动jar包的方式,直接运行与守护进程运行 通常我们开发好的程序需要打成war/jar包,在linux运行,war包好说直接丢在tomcat中即可,如果开发好的程序为jar包的话,方式比较多 直接启动(java-jar xxx.jar) java -jar shareniu.jar 特点:当前ssh窗口被锁定&#x…...

[python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决

这篇文章主要讲述Python如何安装Numpy、Scipy、Matlotlib、Scikit-learn等库的过程及遇到的问题解决方法。最近安装这个真是一把泪啊,各种不兼容问题和报错,希望文章对你有所帮助吧!你可能遇到的问题包括: ImportError: N…...

uniapp使用命令创建页面

package.js下创建命令 "scripts": {"add": "node ./auto/addPage.ts" } package.js同级目录创建auto/addPage.ts addPage.ts代码如下 const fs require(fs) const path require(path) const targetPath process.argv[2];// 要创建的目录地…...

Linux(进程控制)

进程控制 进程创建fork函数初识fork函数返回值写时拷贝fork常规用法fork调用失败的原因 进程终止进程退出码进程常见退出方法 进程等待进程等待必要性获取子进程status进程等待的方法 阻塞等待与非阻塞等待阻塞等待非阻塞等待 进程替换替换原理替换函数函数解释命名理解 做一个…...

Java学习笔记——(18)进制介绍

对于整数,有四种表示方式: 二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。(注:书写二进制时需要按四位数字一组的方式书写,缺的前面补0)十进制:0-9 ,满 10 进 1。…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Python学习(8) ----- Python的类与对象

Python 中的类&#xff08;Class&#xff09;与对象&#xff08;Object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心。我们可以通过“类是模板&#xff0c;对象是实例”来理解它们的关系。 &#x1f9f1; 一句话理解&#xff1a; 类就像“图纸”&#xff0c;对…...

ArcGIS Pro+ArcGIS给你的地图加上北回归线!

今天来看ArcGIS Pro和ArcGIS中如何给制作的中国地图或者其他大范围地图加上北回归线。 我们将在ArcGIS Pro和ArcGIS中一同介绍。 1 ArcGIS Pro中设置北回归线 1、在ArcGIS Pro中初步设置好经纬格网等&#xff0c;设置经线、纬线都以10间隔显示。 2、需要插入背会归线&#xf…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...

统计学(第8版)——统计抽样学习笔记(考试用)

一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征&#xff08;均值、比率、总量&#xff09;控制抽样误差与非抽样误差 解决的核心问题 在成本约束下&#xff0c;用少量样本准确推断总体特征量化估计结果的可靠性&#xff08;置…...

Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用

Linux 内存管理调试分析&#xff1a;ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础&#xff0c;但这一子系统结构复杂&#xff0c;常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题&#xff0c;需要一套工具化、…...