外部USBデバイスの自動マウントを使用していますが、NTFSパーティションが実行可能フラグをオンにしてマウントされていることを除いて、期待どおりに機能します。例えば:
/dev/sdb1 on /media/Elements type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
通常のファイルはすべて、このパーティション上の-rwxrwxrwx
です。 x
sに満足していません。 fmask=0111
オプションを渡せば、思い通りにマウントできます。
ここでLucidを使用し、新しい自動マウントメカニズム(gvfs-mount
?)を使用すると仮定しますが、デフォルトのマウントオプションをどのように変更できるかは実際にはわかりません。 /system/storage/default_options/ntfs/mount_options
のGconf設定は効果がありません。
それで、どのようにしてfmask=0111
をすべてのNTFSパーティションのデフォルトの自動マウントオプションにするのでしょうか? (現在の自動マウントメカニズムの仕組み、構成方法を誰かが説明してくれた場合もありがたいです、デフォルトのマウントオプションがハードコードされている場合、それらを変更するには再コンパイルする必要があります)。
/etc/fstab
に行を追加したり、手動でマウントしたりできることはわかっていますが、これは1)使用するすべての外部ドライブの/etc/fstab
を編集したくないので、2)fstabレコードですドライブが存在しない場合でも、Nautilusの[場所]ペインに表示されます。問題はdefaultsを変更する方法です。
更新: udisks 1.0.1+git20100614
以降をインストールすると、NTFSのより適切なデフォルトが得られますが、残っている問題は、ユーザーが任意のマウントオプションを指定する方法です。
デフォルトのマウントオプションがハードコードされている場合、それらを変更するには再コンパイルする必要があります
ファイルを編集しますdevice.cカスタムデフォルトで:
mkdir -p build/udisks
cd build/udisks
apt-get source udisks
gedit udisks-1.0.1/src/device.c
ntfs_defaults
を検索し、編集、保存、終了します。
マウントオプションがntfs_allow
以下のntfs_defaults
リストにない場合は、その新しいオプションをntfs_allow
にも追加する必要があります。
ビルド(pbuilder方法については他の回答を参照):
cd udisks-1.0.1
dch -l custom "Mount custom defaults fix."
dpkg-buildpackage -b -us -uc -rfakeroot
新しくコンパイルされたudiskをインストールします。
Sudo dpkg -i ../udisks_1.0.1-1ubuntu1custom1_AMD64.deb
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
新しいudisks
を作成するには、pbuilder
を使用しました。
Sudo aptitude install pbuilder
Sudo pbuilder create
Sudo pbuilder --update
Sudo pbuilder --build udisks_1.0.1+git20100614-1.dsc
これには時間がかかる場合がありますが、うまくいきました。これで、新しくビルドされたパッケージをインストールできます。
cd /var/cache/pbuilder/result/
ls *.deb
Sudo dpkg -i udisks_1.0.1+git20100614-1_AMD64.deb
このパッケージは、ディストリビューション(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
これで、自動的にマウントされたNTFSパーティション上の通常のファイルは実行できなくなりました。この修正が公式のLucidアップデートに反映されることを願っています。