智商捉急,我被某厂商按在地上摩擦

今天给大家讲个小故事,前段时间在项目上跟某软件商刚了一波,对手竟然侮辱我的智商。原因就是测试过程中对方违反招标规定,在测试准备阶段修改软件代码;而令人难受的是,明明看到对手在改代码,我们却拿不出证据。最后还是靠了测试机构的专家支持,才把对手干掉。

事后我整理了一下相关材料,也扩展了此类问题应对思路,今天跟大家分享一下如何判断文件是否发生过修改,没准哪天就用到了呢。

1、Windows操作系统

Windows下的操作算是比较直观的,也比较符合人们的操作习惯,使用资源管理器的搜索工具就能搜索到指定时间范围内修改过的文件。

 

比如以修改日期“本周”为条件搜索“Program Files”文件夹,可以得到修改日期在本周的文件及文件夹列表。

 

而且,Windows比Linux好的地方就是会把文件类型显示出来,比较直观;而在Linux系统下,就只能靠经验积累了。

 

2、Linux系统

查看Linux系统下的文件需要使用ls命令或ls –l(ll)命令,纯手工操作,算得上是费时费力了。

 

当然,如果有条件的话,可以借助SFTP的工具,如MOBA、XFTP等等。使用工具也可以支持按照修改时间“Last Modified”进行排序,这样找起文件来就轻松了许多。

 

find命令

测试机构的专家使用的是find命令,我也看了一下find的使用帮助,主要的选项-mmin(修改时间单位为分钟,如n表示修改时间在过去n分钟内)和-mtime(修改时间单位为天,如n表示修改时间在过去n天<24小时>内)的相关介绍截图如下:

 

例如要查找/根目录下修改时间为2天内的文件,并显示详细参数,就可以使用find / -mtime 2 –ls命令,示例如下:

 

history

当然也有比较粗糙的方法,比如查看history命令,找到和修改文件相关的命令,如touch、vi、vim等等,再找到对应的文件,查看具体的时间参数信息。

 

例如上面的演示,就需要跳到/opt目录下使用ll查看文件信息,对比文件的修改日期和当前日期差或者是指定时间点的时间间隔。

 

带时间戳的history命令

CentOS操作系统的history命令默认是不带时间戳的,也不显示操作员信息。可以通过命令export HISTTIMEFORMAT="%F %T `whoami` " 设置环境变量HISTTIMEFORMAT给history加上时间戳。但是这个时间戳是记录命令保存在当前shell进程内存里的时间,不是真实的操作时间。

 

可以通过命令cat ~/.bash_history查看文件里的历史命令,和网络设备中的logfile一样,及时使用命令history –c清空历史命令,也不会删除这里面的信息。但是history中的命令仅会在注销登录时写入该文件,而且是没有时间的。

 

而如果把前面加时间戳的命令写进配置文件,就能实现“logfile”操作命令的加时间戳操作了。

可以通过命令source /etc/profile && source ~/.bash_profile使配置立即生效,也可以退出登录重新登录写入配置文件。修改后的“logfile”文件内容如下:

可以看出命令前面加了一个时间戳,使用history命令查看显示如下:

如果有类似场合,可以要求厂商在设备上先配置这些命令,便于留存证据。

ps命令

再就是通过ps all命令找到对应的进程文件,进入到对应目录或直接查看文件属性,对比时间戳是否有更新。

复制、剪切

对手还做了一件什么事情呢?那就是当着测试机构的面,说是把编译环境卸载了,实际上并没有。众所周知,.jar文件只能通过java环境编译生成,而对手的jar文件日期确是新的,狡辩称是复制或者是剪切过来的,而实际上复制、剪切这些操作是不会改变文件生成时间的。怕是对手真把我们当成傻子了,极力掩盖真相;最终是聪明反被聪明误,十几个人一周的辛苦付之东流,悻悻出局。

想想对手还没开始就出局了,我也就没那么生气了,就是拗不过自己的智商被对手摁在地上摩擦。大家跟我一样,以后可长点心,防着点奸商吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值