4

У меня есть установка с двойной загрузкой с Ubuntu 10.04 и Windows 7 Ultimate. У меня есть 2 диска со следующими настроенными разделами:

500 GB drive
2 partitions:
    C:/   320GB NTFS (Has Win 7 on it)
    D:/   180GB NTFS


160 GB drive
1 main partition:
    1     160GB EXT4 (Has Ubuntu 10.04 in it)

В Ubuntu я автоматически монтирую весь диск на 500 ГБ, используя строку /etc/fstab . Я настроил эту строку следующим образом:

UUID=XXXXXXXXXXXXXXXX /media/WinEmily         auto    ro,auto,user,exec 0 0

Где UUID - это диск на 500 ГБ, а /media/WinEmily - моя существующая точка монтирования.

Теперь мой вопрос: есть ли способ для Ubuntu по-прежнему записывать данные на один из разделов диска на 500 ГБ. Я пытаюсь предотвратить это, чтобы у него был только доступ для чтения, независимо от того, что он пытается. (За исключением, конечно, размонтирования и перемонтирования с доступом для чтения / записи.)

Обновить
Я говорю о нормальных файловых операциях, редактировании и удалении файлов из файловой системы. Не уничтожать всю файловую систему, используя грубую силу.

Так есть такая команда, которая позволила бы писать, даже если она смонтирована только для чтения.

supersuperuserdo rm --doitanyway /media/WinEmily/file.txt

4 ответа4

8

Если вы монтируете файловую систему только для чтения, ее невозможно изменить с помощью операций с файловой системой. Даже если вы root. Если вы хотите выполнить какие-либо изменения (запись в файл, удаление файла, изменение разрешений, обновление времени доступа и т.д.), Вам необходимо перемонтировать файловую систему для чтения-записи (mount -o remount,rw /dev/foo).

Вы по-прежнему можете получить доступ к базовому устройству и писать на него. (Это очень плохая идея, конечно.) Диски и разделы доступны только пользователю root, если вы явно не изменили это (обычно это тоже плохая идея).

Одна вещь, которая возникает не очень часто, - это то, что сама операция монтирования может записать на диск. Это может происходить даже с монтируемыми только для чтения монтируемыми файловыми системами в журнале: если файловая система не была отсоединена должным образом, действие монтирования файловой системы может воспроизвести журнал и выполнить действия в очереди (это относится к ext3; я не знаю о ntfs), Это означает, что вы не можете легко проверить диск приостановленной машины (например, образ диска приостановленной виртуальной машины, просматриваемой на хосте, или спящую систему с аварийного компакт-диска).

1

При нормальных условиях:

Если вы хотите защитить себя от случайных операций, этого достаточно.

Никакая приличная команда, такая как supersuperuserdo rm --doitanyway /media/WinEmily/file.txt может привести к удалению file.txt .

Чтобы нанести ущерб, должны быть две вещи: sudo и mount -o rw или /dev/sda1 .

Теперь, если проблема в том, что кто-то другой имеет доступ к вашему компьютеру, вы должны либо верить, что они не будут использовать слова mount -o rw и /dev/sda1 , либо вообще не предоставлять им учетную запись администратора. С учетной записью администратора они могут делать все, что хотят. Другой уровень защиты в этом случае - войти в настройку BIOS, запретить загрузку с CD/USB и защитить паролем саму настройку BIOS.

0

Ну, вы всегда можете сделать dd if=/dev/zero of=/dev/sda .

0

"Есть ли команда" ... хорошо зависит от того, как вы определяете команду ... как

#!/bin/bash (in file 'mynewcommand' set executable in your PATH)
# temp remount fs rw, execute passed in command(s), remount again, ro sudo
mount  -o remount,rw UUID=xxx   /place 
eval $1 
sudo mount -o remount,ro UUID=xxx....

Это то, что вы искали?


Что бы это ни стоило ... идея о том, что монтирование может «изменить» файловую систему, применима в первую очередь к «журналируемым» файловым системам (форма защиты формата диска). NTFS регистрируется в Windows. Я не верю, что в текущих версиях Linux есть журналы. Обычно воспроизведение журнала не является проблемой, если вы не выполняете экспертизу в файловой системе или файловая система повреждена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .