V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaojay
V2EX  ›  问与答

Linux 上有没有这样一种文件,创建/第一次写入后就无法改了, root 也不行?

  •  
  •   xiaojay · 2020-06-03 15:35:19 +08:00 · 2341 次点击
    这是一个创建于 1644 天前的主题,其中的信息可能已经有所发展或是发生改变。
    18 条回复    2020-06-04 10:33:24 +08:00
    delectate
        1
    delectate  
       2020-06-03 15:42:37 +08:00
    root:我这个 linux 之神不灵了?直接 rm 掉 / 好了。
    xupefei
        2
    xupefei  
       2020-06-03 15:44:51 +08:00 via iPhone
    selinux+chattr 可以做到。
    AngryPanda
        3
    AngryPanda  
       2020-06-03 15:44:53 +08:00
    写好之后,chattr ?
    xiaojay
        4
    xiaojay  
    OP
       2020-06-03 15:48:34 +08:00
    如果文件 chattr 到只读的话,root 也可以 chattr 回来的吧?
    有没有 root 也没办法再次改回来的?
    heijiaotuan
        5
    heijiaotuan  
       2020-06-03 15:50:34 +08:00
    只写 ROM?
    ylw
        6
    ylw  
       2020-06-03 15:52:07 +08:00
    这不就是一次性刻录盘吗
    ylw
        7
    ylw  
       2020-06-03 15:54:20 +08:00
    存储设设备 如果不是一次性写入系统 ,要想防止被再次写入 ,只能有一个独立于软件和硬件的 防擦些开关
    比如 磁带的防写入 凹槽
    yksoft1test
        8
    yksoft1test  
       2020-06-03 15:54:20 +08:00
    映射到固件 EEPROM 的那种文件么
    virusdefender
        9
    virusdefender  
       2020-06-03 15:56:22 +08:00
    插一个优盘,用完之后打开写保护
    sivacohan
        10
    sivacohan  
       2020-06-03 16:11:16 +08:00
    软件没戏。你这个需求听起来像是加密系统保存唯一凭证的方法,一般用专有硬件来处理。
    sivacohan
        11
    sivacohan  
       2020-06-03 16:13:57 +08:00
    你看看 TPM 模块吧。
    tienhua
        12
    tienhua  
       2020-06-03 17:19:56 +08:00 via iPhone
    嵌入式设备一般用 eeprom 或者芯片内部的 otp
    crc8
        13
    crc8  
       2020-06-03 17:45:57 +08:00
    变化是绝对的,不变是相对的。
    windyland
        14
    windyland  
       2020-06-03 18:04:45 +08:00 via Android
    换个思路,为什么要放本地呢,想要不被更改那就放远端主机啊
    lalalafly
        15
    lalalafly  
       2020-06-03 18:28:12 +08:00 via Android
    换个思路,考虑一下区块链?
    xiaojay
        16
    xiaojay  
    OP
       2020-06-03 19:32:59 +08:00
    我研究下,感谢上面各位。
    这个的应用场景就是一个区块链的 pos 矿机 :)
    systemcall
        17
    systemcall  
       2020-06-03 20:52:58 +08:00
    小文件用 EEPROM,那种需要提高电压等操作才可以擦除的就行了,硬件层面可以阻止
    大容量请上光盘
    有能力的话可以定制硬件,整个可以读 NAND Flash 并且支持安全启动的单片机,启动的时候先校验一下 Flash 的内容,不正确就拒绝启动。这需要比较大的量。和主机的交互方面,映射成 USB 光驱之类的东西就行了,或者自己写个协议来交互,文件不大可以走串口的文件传输协议,东西足够下成本做可以试试 MTP,adb 之类的协议或者网络栈。有那种比较便宜的 AP 是可以支持安全启动、NAND Flash 、eMMC 、USB Device 之类的东西的,而且性能足够强大
    系统可以考虑走网络启动,在 AP 上跑个 TFTP Server,把引导文件丢过去,之后连接到 iSCSI 之类的东西上,或者自己撸一个简化版的东西好降低成本
    a3587556
        18
    a3587556  
       2020-06-04 10:33:24 +08:00
    @xupefei 老哥能说详细点吗,我知道可以用 chattr +i file 来限制更改,但是 root 用户可以通过 chattr -i file 来取消限制,现在疑惑的是如何通过 selinux 来防止 root 用户通过 chattr -i file 取消限制?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:34 · PVG 05:34 · LAX 13:34 · JFK 16:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.