Linux用户访问和挂载

时间:2011-01-03 10:06:45

标签: linux file-permissions

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

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

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

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

这个想法是,只要这个目录现在具有访问权限,就应该拒绝该副本。 事实并非如此,文件是myFile被复制到文件夹/ test

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

我在哪里错了?

2 个答案:

答案 0 :(得分:1)

root(或任何uid为0 [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

答案 1 :(得分:0)

为什么mnt驻留在nand flash上​​?您还将它放在tmpfs文件系统中,并使用大小选项限制tmpfs文件系统的大小

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

在/ media / mmc

中装载您想要的任何内容