xiaojay
V2EX  ›  问与答

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

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