自动挂载的 NTFS 分区上的默认挂载选项(如何添加 `noexec` 和 `fmask=0111`?)

sas*_*nin 9 10.04 default mount automount ntfs

我使用外部 USB 设备的自动挂载,它按预期工作,除了 NTFS 分区挂载了可执行性标志。例如:

/dev/sdb1 on /media/Elements type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
Run Code Online (Sandbox Code Playgroud)

所有普通文件都-rwxrwxrwx在这个分区上。我对xs不满意。我知道如果我通过fmask=0111选项,我可以按照我想要的方式安装它。

现在我使用 Lucid,并假设它使用一些新的自动安装机制(gvfs-mount?),但我真的不知道现在如何更改默认安装选项。中的 Gconf 设置/system/storage/default_options/ntfs/mount_options无效。

那么,如何fmask=0111为所有 NTFS 分区设置默认自动挂载选项?(如果有人解释当前的自动挂载机制是如何工作的,如何配置它,以及如果默认挂载选项是硬编码的,我必须重新编译以更改它们,我也会很感激)。

我知道我可以/etc/fstab手动在和/或挂载中放置一行,但这不是我想要的解决方案,因为 1) 我不想为/etc/fstab我使用的每个外部驱动器进行编辑,2) fstab 记录出现在Nautilus 的“位置”窗格,即使驱动器不存在。问题是如何更改默认值

更新:安装udisks 1.0.1+git20100614或以后为 NTFS 提供更合理的默认值,仍然存在的问题是用户如何指定任意挂载选项。

sas*_*nin 0

我找到了解决 Lucid 上可执行文件问题的解决方法(Maverick 上不应该需要它)。较新版本udisks 1.0.1+git20100614不会使 NTFS 分区上的所有文件都可执行。这解决了我的可执行文件的特定问题,但它仍然不允许指定任意安装选项。

以下是我如何构建反向移植包的分步说明udisks

切换到要下载源码包的目录并下载:

wget https://launchpad.net/ubuntu/maverick/+source/udisks/1.0.1+git20100614-1/+files/udisks_1.0.1+git20100614.orig.tar.gz
wget https://launchpad.net/ubuntu/maverick/+source/udisks/1.0.1+git20100614-1/+files/udisks_1.0.1+git20100614-1.debian.tar.gz 
wget https://launchpad.net/ubuntu/maverick/+source/udisks/1.0.1+git20100614-1/+files/udisks_1.0.1+git20100614-1.dsc 
Run Code Online (Sandbox Code Playgroud)

为了构建更新的udisks我使用pbuilder

sudo aptitude install pbuilder
sudo pbuilder create
sudo pbuilder --update
sudo pbuilder --build udisks_1.0.1+git20100614-1.dsc 
Run Code Online (Sandbox Code Playgroud)

这可能需要一些时间,但它对我有用。现在您可以安装新构建的包:

cd /var/cache/pbuilder/result/
ls *.deb
sudo dpkg -i udisks_1.0.1+git20100614-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

该软件包应优先于发行版 ( lucid) 软件包:

$ apt-cache policy udisks
udisks:
  Installed: 1.0.1+git20100614-1
  Candidate: 1.0.1+git20100614-1
  Version table:
 *** 1.0.1+git20100614-1 0
        100 /var/lib/dpkg/status
     1.0.1-1ubuntu1 0
        500 http://it.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
     1.0.1-1build1 0
        500 http://it.archive.ubuntu.com/ubuntu/ lucid/main Packages
Run Code Online (Sandbox Code Playgroud)

现在,自动安装的 NTFS 分区上的常规文件不再可执行。我希望这个修复能进入官方 Lucid 更新中。


dku*_*tz2 -2

这是因为 NTFS 驱动器不是为 Linux 设计的,而是为 Windows 设计的,并且 Windows 默认情况下使所有内容都可执行。

默认情况下将它们设置为不可执行的唯一方法是编辑每个驱动器的 fstab,或将它们切换为 fat32。