将我的磁盘安装为“ro”是否会使其完全只读?

将我的磁盘安装为“ro”是否会使其完全只读?

我安装了 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 中,我使用一行自动安装整个 500GB 驱动器/etc/fstab。我已将该行配置如下:

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

其中 UUID 是 500GB 驱动器的 UUID,也是/media/WinEmily我现有的挂载点。

现在我的问题是,Ubuntu 是否有办法继续写入 500GB 驱动器的任一分区。我试图阻止这种情况,以便它无论尝试什么都只能具有读取权限。(当然,卸载并重新安装具有读/写访问权限的情况除外。)

更新
我指的是正常的文件操作,编辑和删除文件系统中的文件。而不是使用暴力手段破坏整个文件系统。

那么是否存在这样的命令,即使它被安装为只读,也可以允许写入。

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

答案1

如果您以只读方式挂载文件系统,则无法通过文件系统操作对其进行修改。即使您是 root 用户也不行。如果您想执行任何修改(写入文件、删除文件、更改权限、更新访问时间等),则必须以读写方式重新挂载文件系统 ( mount -o remount,rw /dev/foo)。

您仍然可以访问底层设备并对其进行写入。(当然,这是一个非常糟糕的主意。)除非您明确更改了这一点(通常也是一个坏主意),否则磁盘和分区只能由 root 访问。

有一件事很少发生,那就是挂载操作本身可能会写入磁盘。即使是日志文件系统的只读挂载也可能发生这种情况:如果文件系统没有完全卸载,挂载文件系统的操作可能会重放日志并执行排队的操作(对于 ext3 确实如此;我不知道 ntfs 的情况)。这意味着您无法轻松检查已暂停计算机的磁盘(例如,在主机上查看的已暂停虚拟机的磁盘映像,或救援 CD 中的休眠系统)。

答案2

“是否有命令”……这取决于你如何定义命令……比如

#!/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 还没有日志功能。通常,重放日志不是问题,除非您正在对文件系统进行取证或文件系统已损坏。

答案3

正常情况下:

如果你想保护它免受自身损害,即意外操作,这就足够了。

没有像这样的像样的命令supersuperuserdo rm --doitanyway /media/WinEmily/file.txt可能会导致file.txt被删除。

要造成损害,必须存在两件事:sudo,以及。mount -o rw/dev/sda1

现在,如果问题出在其他人有权访问您的计算机,您必须相信他们不会使用mount -o rw和这两个词/dev/sda1,或者首先不要给他们管理员帐户。有了管理员帐户,他们可以为所欲为。在这种情况下,另一个保护级别是进入 BIOS 设置,禁止从 CD/USB 启动,并使用密码保护 BIOS 设置本身。

答案4

嗯,你随时都可以这么做dd if=/dev/zero of=/dev/sda

这会将零写入磁盘,从而删除所有数据。

相关内容