Linux пользовательский доступ и монтирование - PullRequest
0 голосов
/ 03 января 2011

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

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

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

С компьютера с Ubuntu я затем пытаюсь скопировать файл, используя scp scp myFile root@192.168.1.100: / test

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

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

Куда я тут не так?

Ответы [ 2 ]

1 голос
/ 03 января 2011

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
0 голосов
/ 03 января 2011

Почему mnt находится на флэш-памяти nand? Вы также можете поместить его в файловую систему tmpfs и ограничить размер файловой системы tmpfs, используя параметры размера

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

Монтируйте все, что вы хотите в / media / mmc

...