Czy zamontowanie dysku jako „ro” sprawi, że będzie on całkowicie tylko do odczytu?

4

Mam instalację dualboot z Ubuntu 10.04 i Windows 7 Ultimate. Mam 2 dyski z następującymi partycjami:

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)

W Ubuntu instaluję automatycznie cały dysk 500 GB, używając /etc/fstablinii. Skonfigurowałem ten wiersz w następujący sposób:

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

Gdzie UUID jest dyskiem o pojemności 500 GB i /media/WinEmilyjest moim istniejącym punktem montowania.

Teraz moje pytanie brzmi: czy jest jakiś sposób, aby Ubuntu nadal zapisywał na którejkolwiek z partycji dysku 500 GB. Staram się temu zapobiec, aby miał dostęp tylko do odczytu, bez względu na to, co próbuje. (Z wyjątkiem oczywiście odmontowania i ponownego zamontowania z dostępem do odczytu / zapisu.)

Aktualizacja
Mówię o normalnych operacjach na plikach, edytowaniu i usuwaniu plików z systemu plików. Nie niszcząc całego systemu plików za pomocą brutalnej siły.

Czy istnieje takie polecenie, które pozwoliłoby na pisanie, mimo że jest zamontowane jako tylko do odczytu.

supersuperuserdo rm --doitanyway /media/WinEmily/file.txt
BloodPhilia
źródło

Odpowiedzi:

8

Jeśli podłączysz system plików tylko do odczytu, nie będzie możliwości zmodyfikowania go za pomocą operacji systemu plików. Nawet jeśli jesteś rootem. Jeśli chcesz wykonać dowolną modyfikację (zapis do pliku, usunięcie pliku, zmiana uprawnień, aktualizacja czasu dostępu itp.), Musisz ponownie zamontować system plików read-write ( mount -o remount,rw /dev/foo).

Nadal możesz uzyskać dostęp do podstawowego urządzenia i pisać na nim. (Jest to oczywiście bardzo zły pomysł.) Dyski i partycje są dostępne tylko przez root, chyba że wyraźnie to zmieniłeś (zwykle też zły pomysł).

Jedną z rzeczy, która nie pojawia się zbyt często, jest to, że sama czynność montowania może zapisywać na dysku. Może się to zdarzyć nawet w przypadku montowania tylko do odczytu dla kronikowanych systemów plików: jeśli system plików nie został czysto odmontowany, akcja zamontowania systemu plików może odtworzyć kronikę i wykonać akcje w kolejce (dotyczy ext3; nie wiem o NTFS) . Oznacza to, że nie można łatwo sprawdzić dysku zawieszonej maszyny (np. Obrazu dysku z zatrzymaną maszyną wirtualną wyświetlanego na hoście lub systemu hibernacji z ratunkowej płyty CD).

Gilles
źródło
4
+1 za „samo montowanie może zapisywać na dysk”: Nigdy o tym nie myślałem (choć jest to logiczne z perspektywy czasu).
sleske,
2
W rzeczywistości możesz zamontować ext3 bez modyfikowania go za pomocą opcji „ro, noload” (z Documentation / filesystems / ext3.txt w dokumentacji systemu Linux). Dokumenty zauważają jednak, że może to prowadzić do „różnych problemów” ...
sleske,
@sleske Jednak próbuję zamontować system NTFS, a nie rozszerzony;)
BloodPhilia
@sleske: Dzięki za wskazówkę! Znalazłem to na swój sposób, chciałbym noload(istniało | udokumentowane), a potem ...
Gilles,
1
@BlookPhilia: Jestem dość pewien, że noloadjest specyficzny dla ext3. Nie mam pojęcia, czy istnieje odpowiednik NTFS.
sleske,
1

W normalnych warunkach:

Jeśli chcesz uchronić go przed sobą, czyli przypadkowymi operacjami, to wystarczy.

Żadne przyzwoite polecenie supersuperuserdo rm --doitanyway /media/WinEmily/file.txtnie może spowodować file.txtusunięcia.

Aby spowodować uszkodzenie, muszą być dwie rzeczy: sudoi albo mount -o rwalbo /dev/sda1.

Teraz, jeśli problem jest ktoś inny, że ma dostęp do komputera, trzeba albo zaufanie, że nie będą używać słów mount -o rwi /dev/sda1, czy nie dać im konto administratora w pierwszej kolejności. Z kontem administratora mogą robić, co chcą. Innym poziomem ochrony w tym przypadku jest wejście do konfiguracji BIOS-u, zabronienie uruchamiania z CD / USB i ochrona samej konfiguracji BIOS-u hasłem.

użytkownik39559
źródło
DOBRZE. Pamiętaj więc, że nie chodzi o rootprzywileje. Jądro po prostu nie zmieni rm file.txtpolecenia podobnego do operacji zapisu urządzenia, chyba że urządzenie zostanie odpowiednio zamontowane.
user39559,
0

Zawsze możesz to zrobić dd if=/dev/zero of=/dev/sda.

Cześć71
źródło
Cóż, mógłbym, ale tak naprawdę nie odpowiada na moje pytanie ... to byłaby brutalna siła na całym dysku ... Mówię o normalnych operacjach na plikach.
BloodPhilia,
0

„Czy istnieje polecenie”… cóż, zależy od tego, jak zdefiniujesz polecenie… jak

#!/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....

Czy tego właśnie szukałeś?


Z tego powodu warto ... pomysł, że mount może „zmienić” system plików dotyczy przede wszystkim systemów plików, które są „kronikowane” (forma ochrony formatu dysku). NTFS jest kronikowany w systemie Windows. Nie sądzę, aby obecne wersje systemu Linux zawierały w nich księgowanie. Zwykle odtwarzanie dziennika nie stanowi problemu, chyba że przeprowadzasz analizy sądowe w systemie plików lub system plików jest uszkodzony.

Astara
źródło
Linux ma rejestrowane systemy plików od prawie dekady, w postaci [ext3] [1], ReiserFS, JFS i XFS. [1]: en.wikipedia.org/wiki/Ext3
Linux ma rejestrowane systemy plików od prawie dekady, w postaci [ext3] [1], ReiserFS, JFS i XFS. [1]: en.wikipedia.org/wiki/Ext3
Linux ma rejestrowane systemy plików od prawie dekady, w postaci [ext3] [1], ReiserFS, JFS i XFS. [1]: en.wikipedia.org/wiki/Ext3