我的 PC 有 3 个 NTFS 分区(主分区和备份分区)以及双启动的 Ubuntu。我想让 NTFS 分区保持可用,但默认以只读方式挂载,以便其他用户(甚至是我)不会以有害的方式修改它们。我发现我无法更改 NTFS 分区的权限,这是可以理解的。
如果可能的话,我希望只有 root 可以更改默认权限,这样其他用户就无法在不切换到 Windows 的情况下修改它们。如果这不可能,让 NTFS 无法挂载也是可以的。
这主要是一种保护措施,以避免损坏我的 Windows 系统,因为我仍然会经常使用它。
编辑 1:这是我的 fstab
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda7 during installation
UUID=4a5ff937-5220-4b4e-b994-304ba37d3448 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda8 during installation
UUID=a0285d57-8247-4efe-88ca-14bee4b8630b none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
因此,我想将我的 3 个 NTFS HD 全部设置为只读(不自动挂载)。另外,请告诉我/path/to/ntfs
每个分区的 在哪里。
此外,我可以评论软盘条目吗?反正我也没有 =)
编辑 2:'mount -v'的相关部分
/dev/sda1 on /media/1A7099D97099BC47 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
/dev/sda5 on /media/Stuff type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
/dev/sda6 on /media/Backup type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
编辑 3:好的,我安装了 pysdm(存储设备管理器),将所有 NTFS 分区设置为任何用户都可以挂载,并且设置为只读,然后重新启动。现在我无法挂载分区:
Unprivileged user can not mount NTFS block devices using the external FUSE library. Either mount the volume as root, or rebuild NTFS-3G with integrated FUSE support and make it setuid root. Please see more information at http://ntfs-3g.org/support.html#unprivileged
读过一些资料后,似乎以 root 身份挂载分区不是一个好主意。那么,我如何允许(任何用户)挂载分区?
答案1
我认为实现此目的的最简单方法是检查您的/etc/fstab
并将 NTFS 分区的选项更改为以只读方式安装。
在正在运行的系统中,您可以暂时使用 执行此操作mount -o remount,ro /path/to/ntfs
。
答案2
答案3
因此,我找到了一个解决方案。
对于那些尝试这样做的人,请编辑你的 fstab 并包括:
#change '/dev/sda1' to your partition id
#change '/mnt/ntfsfolder' to whatever mount point you want
/dev/sda1 /mnt/ntfsfolder ntfs-3g defaults,umask=022 0 0
这样,只有 root 用户才能在 NTFS 分区上写入,而所有其他用户只能读取。如果您想更改此类分区上的某些内容,请使用gksu
命令以 root 身份执行。示例:
gksu nautilus
这将以 root 身份打开 Nautilus(文件管理器)。
答案4
如果你更喜欢使用 GUI,请尝试磁盘:http://www.hecticgeek.com/2012/10/make-ntfs-partitions-read-only-in-ubuntu/