我有一个双启动系统 - Ubuntu 18.04.3 + Windows XP。我的 Windows XP 安装很久以前就已设置好了,包括Administrator
用户和一些非特权用户 - 这很好,因为普通用户无法错误地修改或破坏重要的系统文件。
然而,当我登录 Ubuntu 时,所有这些万无一失的设置都浪费了——我可以轻松安装 Windows XP 系统磁盘C:
并在那里进行任何我想要的更改,甚至不需要sudo
。例如,我可以删除任何Windows XP 驱动程序...
据我所知ntfs-3g驱动程序通常用于从 Ubuntu 访问 Windows XP。我的驱动程序版本:
hekto@ubuntu:~$ dpkg -l | grep ntfs
ii libntfs-3g88 1:2017.3.23-2ubuntu0.18.04.2 amd64 read/write NTFS driver for FUSE (runtime library)
ii ntfs-3g 1:2017.3.23-2ubuntu0.18.04.2 amd64 read/write NTFS driver for FUSE
Windows XP 系统分区通常不是已安装,但文件中没有/etc/fstab
。我以前是通过双击 Ubuntu GUI 中的图标来安装它的。Ubuntu 中报告的已安装分区为:
hekto@ubuntu:~$ mount | grep Windows
/dev/sda1 on /media/hekto/Windows type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
从 Ubuntu 中可以看到一些关键的 Windows XP 系统文件的权限:
hekto@ubuntu:~$ ll /media/hekto/Windows/WINDOWS/system32/*.sys
-rwxrwxrwx 1 hekto hekto 9029 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ansi.sys*
-rwxrwxrwx 1 hekto hekto 27097 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/country.sys*
-rwxrwxrwx 1 hekto hekto 4768 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/himem.sys*
-rwxrwxrwx 1 hekto hekto 42809 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/key01.sys*
-rwxrwxrwx 1 hekto hekto 42537 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/keyboard.sys*
-rwxrwxrwx 1 hekto hekto 29146 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntdos404.sys*
-rwxrwxrwx 1 hekto hekto 29370 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntdos411.sys*
-rwxrwxrwx 1 hekto hekto 29274 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntdos412.sys*
-rwxrwxrwx 1 hekto hekto 29146 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntdos804.sys*
-rwxrwxrwx 1 hekto hekto 27866 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntdos.sys*
-rwxrwxrwx 1 hekto hekto 34560 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntio404.sys*
-rwxrwxrwx 1 hekto hekto 35648 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntio411.sys*
-rwxrwxrwx 1 hekto hekto 35424 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntio412.sys*
-rwxrwxrwx 1 hekto hekto 34560 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntio804.sys*
-rwxrwxrwx 1 hekto hekto 33840 Aug 4 2004 /media/hekto/Windows/WINDOWS/system32/ntio.sys*
-rwxrwxrwx 1 hekto hekto 17664 Apr 14 2008 /media/hekto/Windows/WINDOWS/system32/watchdog.sys*
-rwxrwxrwx 1 hekto hekto 1845632 Apr 14 2008 /media/hekto/Windows/WINDOWS/system32/win32k.sys*
我想禁止从 Ubuntu 写入 Windows XP 系统分区根本- 仅在极少数情况下,我需要从该分区读取一些内容到 Ubuntu,并且我从未从 Ubuntu 写入 Windows XP 系统分区。
最好的和最简单的方法是什么?
答案1
umount /mnt/windows
每次用户登录时运行怎么样,或者重命名ntfs-3g
以便用户无法访问它(但您知道该可执行文件的真实名称)?
答案2
我在回答我自己的问题。对我来说,最好的、最简单的方法是创建一个u盘配置文件/etc/udisks2/mount_options.conf
中有以下两行:
[/dev/disk/by-label/Windows]
defaults=ro
Ubuntu 仍然报告rwxrwxrwx
此分区上所有文件和目录的权限,但这是一个谎言——该分区变为只读,