【问题标题】:Linux user access and mountLinux用户访问和挂载
【发布时间】:2011-01-03 10:06:45
【问题描述】:

在我的嵌入式系统中,我在 /mnt 中放置了一张 uSD 卡,它是驻留在 NAND 闪存上的文件夹。在 uSD 卡无法挂载(丢失或硬件错误)的情况下会出现问题。

在这种情况下,将文件复制到 /mnt 会填满大小有限的 nand flash。 我的第一个想法是限制对 /mnt 文件夹的访问,这样当它无法挂载时,就不允许写入。作为我做的测试场景(作为root用户) mkdir /测试 chmod 000 /测试

d--------- 2 root root 160 Jan 3 10:58 test /#

然后我从 Ubuntu PC 尝试使用 scp 复制文件 scp myFile root@192.168.1.100:/test

这个想法是,只要这个目录现在有访问权限,这个副本就应该被拒绝。 不是这样的,文件是myFile被复制到文件夹/test

为什么会这样?我的想法是,只要我撤销对该文件夹的所有访问权限,复制文件就会被拒绝。

我哪里错了?

【问题讨论】:

    标签: linux file-permissions


    【解决方案1】:

    root(或任何 uid 为 0 [零] 的用户)能够读取和写入任何文件,无论权限和所有权如何。

    不过,您可能想尝试该目录上的 immutable 标志:

    ~# mkdir test
    ~# chmod 0000 test
    ~# touch test/foo      # no error here
    
    ~# chattr +i test
    ~# touch test/foo2
    touch: cannot touch 'test/foo2': Permission denied
    

    【讨论】:

    • @habbjack 不。不支持 UBI。那么请忽略我回复中的chattr 部分。不过,第一句话仍然有效。
    【解决方案2】:

    为什么 mnt 驻留在 nand flash 上?你也可以把它放在一个 tmpfs 文件系统中,并使用 size 选项限制 tmpfs 文件系统的大小

    mkdir /media
    mount -t tmpfs tmpfs -o size=4M /media
    mkdir /media/mmc
    

    在 /media/mmc 中挂载任何你想要的东西

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 1970-01-01
      • 2012-08-19
      • 2014-07-22
      • 2018-07-09
      • 2020-12-28
      • 2021-03-16
      • 2016-06-20
      • 1970-01-01
      相关资源
      最近更新 更多