2011-01-03 2 views
0

В моей встроенной системе я накладываю карту uSD в/mnt, которая является папкой, находящейся на флэш-памяти NAND. Проблема возникает в случаях, когда карта uSD не смонтирована (отсутствует или ошибка HW).Доступ пользователей Linux и установка

Копирование файлов в/mnt в этом случае заполняет nand flash, который имеет ограниченный размер. Моя первая идея состояла в том, чтобы просто ограничить доступ к папке/mnt, чтобы при невозможности монтировать запись не допускалась. В качестве тестового сценария я (как корневой пользователь) MkDir/тест CHMOD 000/тест

д --------- 2 корень корень 160 3 января 10:58 Испытание /#

с Ubuntu PC я тогда пробует копировать файл с помощью Scp Scp Myfile [email protected]:/тест

идея заключалась в том, что до тех пор, как эта директория теперь Acces права эта копия должна быть отказано. Это не тот случай, файл myFile скопирован в папку/тест

Почему это так? Моя идея заключалась в том, что если я отменил весь доступ к этой папке, файлы копирования будут отклонены.

В каком месте я ошибаюсь?

ответ

1

root (или любой пользователь с uid 0 [ноль], если на то пошло) способен читать и писать в любой файл независимо от разрешения и прав собственности.

Вы можете попробовать непреложный флаг в этот каталог, хотя:

~# mkdir test 
~# chmod 0000 test 
~# touch test/foo  # no error here 

~# chattr +i test 
~# touch test/foo2 
touch: cannot touch 'test/foo2': Permission denied 
+2

Не Chattr только полезно для файловых систем ext2/ext3. Я использую UBI ...... – habbjack

+0

@habbjack Nope. Поддержка UBI не поддерживается. Тогда игнорируйте часть chattr моего ответа. Однако первое предложение все же стоит. –

0

Почему мнт находиться на NAND Flash? Вам также поместить его в TMPFS файловой системе, а также ограничить размер TMPFS файловой системы, используя параметры размера

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

Маунт, что вы хотите в/СМИ/ММС