我有一个 20 GB 的 NTFS 卷,计划将其用于多种用途,包括让 Windows 轻松读取。
不幸的是,由于某种原因,即使按照答案操作,我也无法执行驱动器上的任何文件这里(我能够正常安装该卷,但错误仍然存在)。
我怎样才能解决这个问题?
安装输出:
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=daniel)
答案1
您可以使用 GUI 进行配置,安装:
sudo apt-get install ntfs-3g ntfs-config ntfsdocs
然后从启动器运行它(搜索 ntfs)。
它会将您的 ntfs 分区添加到 /etc/fstab,以便在启动时挂载它们。您也可以选择具有读/写访问权限。
答案2
挂载 NTFS 的默认 umask 不允许执行,因此我将 umask=0222 添加到挂载选项中
因此根据您所关注的链接中的示例:
mount -t ntfs -o fmask=0022,dmask=0000,uid=1000,gid=1000 DRIVE /media/vista
会成为:
mount -t ntfs -o fmask=0022,dmask=0000,uid=1000,gid=1000,umask=0222 DRIVE /media/vista
答案3
实际上,我无法从自动挂载的 nfts 分区运行任何可执行文件。在这种情况下,系统将其挂载为:
/dev/sdc1 on /media/romano/IOMEGA type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
我复制了一个可执行文件到其中,但它不起作用 --- 权限被拒绝,并且无法为该文件添加“x”权限。
一种解决方案是像这样手动安装磁盘:
sudo mount -t ntfs-3g -o user,relatime,umask=0022,exec /dev/sdc1 /mnt
(这将挂载 root 拥有的文件系统,您可以使用uid=<your uid>
它来以您的身份挂载它,并且可以将其添加到/etc/fstab
以自动挂载它)。现在它可以工作了:
(0)samsung-romano:/% file /mnt/trova
/mnt/trova: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
(0)samsung-romano:/% /mnt/trova
Uso: trova [file di agenda] cosa
file di default ./agenda
(0)samsung-romano:/% ls -lt /mnt/trova
-rwxr-xr-x 1 root root 14756 Nov 12 20:43 /mnt/trova
糟糕的是,现在全部文件是可执行的。鉴于 NTFS 没有“可执行位”概念,这个问题可能无法解决。如果您chmod -x /mnt/trova
不这样做,则不会发生任何事情。
请注意,命令exec
中的选项mount
应该是列表中的最后一个,因为许多选项(user
例如)都noexec
嵌入了默认值。