V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
arcaitan
V2EX  ›  Linux

今天 Linux 上遇到一个奇怪的问题, 调查了一天没结果

  •  
  •   arcaitan · 30 天前 · 2023 次点击

    linux 上装的是类 centos 系统, 外挂了 1 个 1T 的硬盘给十来个同事们做开发用的 每个同事会去盘上创建自己的目录, 然后在自己的目录里开发.

    今天其中有一个同事的开发目录里的一个 git 仓库目录被清空了

    就是类似, 他目录是/mnt/usr1/git1/xxxx

    然后 usr1 下还有其他目录, 但是就 git1 被清空了, 只留了个空 git1 目录

    ps. 其他同事都有类似的 git1 目录, 但是都没问题, 就这位同事的目录被清空了(git1 是公司同事一起用的私有仓库)

    我调查了所有的系统 log, 没发现任何删除动作

    v 友有其他调查思路吗?

    第 1 条附言  ·  25 天前
    基本可以判定, 是当那块 mount 上去的 1T 硬盘空间满的时候就会发生删除现象

    大家碰到过吗? 我看了系统日志, 有一个目录删除的那瞬间, 有 Nov 26 10:40:01 CROND[11618]: (root) CMD ([ -x /usr/local/bin/filesystem_ro ] && /usr/local/bin/filesystem_ro )这个命令在跑, 这个有可能会导致这种吗
    15 条回复    2024-12-10 15:34:13 +08:00
    eraserrain
        1
    eraserrain  
       30 天前
    是不是执行了什么脚本删除了文件,不把代码放 git 中的同事就别救了,很难排查
    iOCZS
        2
    iOCZS  
       30 天前
    好像也遇到过,跟强杀 ssh 终端有关?
    chingyat
        3
    chingyat  
       30 天前   ❤️ 1
    开 ssh 让 v 友登上去看看
    arcaitan
        4
    arcaitan  
    OP
       30 天前
    @eraserrain 我也调查了这个时间点会执行的脚本, 没有删除动作的.

    哎, 关键是大家早上开发的代码, 中午不知道为啥没了
    arcaitan
        5
    arcaitan  
    OP
       30 天前
    @iOCZS 啊?啥? 细说? 我们都是用 MobaXTerm
    fionasit007
        6
    fionasit007  
       30 天前
    我之前用 mount 方式把群辉的目录挂载到另一台虚拟机里,有一天突然发现目录被清空了,看操作日志就是我挂载的那个账号操作的,服务器也进不去了,不知道是不是被攻击了,幸好可以本地回收站恢复,后面不敢用这种挂载方式了,现在用的 cloud sync ,现在只允许本地修改上传
    arcaitan
        7
    arcaitan  
    OP
       30 天前
    @fionasit007 现在我的问题就是, 完全找不到删除的痕迹, 就好像它莫名其妙就被清空了.

    关键只是其中一个小目录, 不是整个 mount 的盘

    有一个端倪是, 这小目录因为在跑全量 ut, 在慢慢的占有极大的资源

    我怀疑是不是又什么脚本自动察觉到了资源耗尽, 然后就把这小目录给清空了
    但日志里毫无痕迹
    jasonyang9
        8
    jasonyang9  
       30 天前 via Android
    不一定是删除,mv 呢。。再说你开启审计日志了?
    ala2008
        9
    ala2008  
       30 天前
    history 命令有记录吗
    BanDao
        10
    BanDao  
       30 天前
    有大把手段可以不在 history 显示的操作 大概率是误操作 掩盖痕迹了
    joyhub2140
        11
    joyhub2140  
       30 天前
    看看同事有无手工 mount 其他目录到/mnt/usr1/git1/xxxx ,如果有,那就原有数据会被隐藏的,还占用着空间,想要还原也很简单,unmount 回去就可以恢复了。
    pckillers
        12
    pckillers  
       30 天前
    正确的做法不是把 1t 盘挂到/home 然后开 10 个 linux 账号 user0-user9 然后每个人都用自己的用户根目录么?
    NevadaLi
        13
    NevadaLi  
       29 天前
    @arcaitan #7 同意 11 楼,可能写文件的时候没有 mount ,mount 后自然看不到原来文件了。
    arcaitan
        14
    arcaitan  
    OP
       27 天前
    @pckillers home 目录是全公司统一管理的, 每个人都有的, 但是用来跑项目太小了
    这个 1T 的目录下每个人的工作目录也是自己建的, 没有 root 权限的人理论上没办法删除其他人的文件的

    我查了 root 账号的 history, 没有痕迹, 系统 log 里也没有痕迹, 无语了, 审计大概没开, 我用 ausearch -f 是没有 matched 的项目

    计划今天把所有的机器的审计都开一下, 等一下复现了只能
    arcaitan
        15
    arcaitan  
    OP
       12 天前
    @arcaitan 这个问题最终调查出原因了

    是跑编译用了--docker 来先拉 docker 后 build, 然后出异常 docker 退出的时候会同步清理拉起 docker 的目录, 具体为什么不清楚
    后来不用--docker, 用先拉起 docker, 再 build, 就没问题了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   846 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 20:55 · PVG 04:55 · LAX 12:55 · JFK 15:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.