Opsi pemasangan standar pada partisi NTFS yang dipasang secara otomatis (bagaimana cara menambahkan `noexec` dan` fmask = 0111`?) [Ditutup]

9

Saya menggunakan pemasangan otomatis perangkat USB eksternal, dan berfungsi seperti yang diharapkan, kecuali bahwa partisi NTFS dipasang dengan tanda executability aktif. Sebagai contoh:

/dev/sdb1 on /media/Elements type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)

Semua file normal ada -rwxrwxrwxdi partisi ini. Saya tidak senang dengan xitu. Saya tahu saya bisa memasangnya dengan cara yang saya inginkan jika saya melewati fmask=0111opsi.

Sekarang saya menggunakan Lucid, dan anggap itu menggunakan beberapa mekanisme pemasangan otomatis baru ( gvfs-mount?), Tapi saya tidak benar-benar tahu bagaimana opsi pemasangan standar dapat diubah sekarang. Pengaturan gconf di /system/storage/default_options/ntfs/mount_optionstidak berpengaruh.

Jadi, bagaimana cara membuat fmask=0111opsi automounting default untuk semua partisi NTFS? (Saya akan berterima kasih juga jika seseorang menjelaskan bagaimana mekanisme automounting saat ini bekerja, cara mengkonfigurasinya , dan jika opsi pemasangan default dikodekan secara keras, apa yang harus saya kompilasi ulang untuk mengubahnya ).

Saya tahu bahwa saya bisa meletakkan garis di /etc/fstabdan / atau mount secara manual, tetapi ini bukan solusi yang saya inginkan, karena 1) Saya tidak ingin mengedit /etc/fstabuntuk setiap drive eksternal yang saya gunakan, 2) catatan fstab muncul di panel Tempat Nautilus, bahkan jika drive tidak ada. Pertanyaannya adalah bagaimana cara mengubah default .

Pembaruan: menginstaludisks 1.0.1+git20100614 atau yang lebih baru memberikan standar yang lebih masuk akal untuk NTFS, masalah yang tersisa adalah bagaimana pengguna dapat menentukan opsi pemasangan yang sewenang-wenang.

sastanin
sumber
Ini mungkin bug terkait: bugs.launchpad.net/ubuntu/+source/gnome-mount/+bug/78505 bugs.launchpad.net/ubuntu/+source/udisks/+bug/14335 dan banyak duplikat. Masalahnya tampaknya diselesaikan dalam udisks 1.0.1 + git20100614-1 , tetapi belum tersedia untuk Lucid.
sastanin
4
Sayang pertanyaan ini sudah ditutup. Saya juga mencari cara untuk memaksa opsi pemasangan spesifik untuk sistem file khusus yang ditentukan.
mivk
1
@mivk Saya juga berpikir penutupan tidak tepat. Saya sedang mencari cara untuk membuat drive NTFS mount dengan "windows_names" secara otomatis ...
waldyrious

Jawaban:

1

jika opsi pemasangan standar adalah hard-coded, apa yang harus saya kompilasi ulang untuk mengubahnya

Edit file device.c dengan standar khusus Anda:

mkdir -p build/udisks
cd build/udisks
apt-get source udisks
gedit udisks-1.0.1/src/device.c

Cari ntfs_defaults, edit, simpan dan keluar.
Jika opsi pemasangan belum ada di ntfs_allowdaftar di bawah ini ntfs_defaults, Anda juga harus menambahkan opsi baru itu ntfs_allow.

Bangun (lihat jawaban lain untuk cara pbuilder ):

cd udisks-1.0.1
dch -l custom "Mount custom defaults fix."
dpkg-buildpackage -b -us -uc -rfakeroot

Instal udisk yang baru dikompilasi:

sudo dpkg -i ../udisks_1.0.1-1ubuntu1custom1_amd64.deb
Nilfred
sumber
1) Saya bertanya tentang NTFS , bukan FAT. 2) Saya tidak melihat bagaimana patch yang diusulkan ( 15-vfat-UTC.patch) akan memungkinkan untuk mengkonfigurasi noexecdan fmaskme - mount opsi untuk partisi NTFS. Seperti, jawaban Anda offtopic dan tidak berguna.
sastanin
@jetxee 1) Lihat baris: gedit udisks-1.0.1/src/device.cSaya tidak ingin hanya membantu Anda, tetapi sebagai bantuan umum. 2) Hanya sebuah contoh tentang bagaimana untuk berbagi Anda Patch melawan Anda masalah tertentu. Saya tidak akan melakukan pekerjaan rumah Anda setiap kali Anda ingin mengubah default lainnya. Cukup cari default ketika berada di device.c
Nilfred
1) "bantuan umum" Anda tentang cara membuat paket tidak lengkap, tidak pantas, dan ditulis dengan buruk, cobalah untuk lebih spesifik waktu berikutnya; edit terakhir Anda setidaknya membuat jawaban pada topik (+1), tetapi Anda bisa berhenti setelah "opsi baru untuk mengizinkan", tanpa banyak copy-paste 2) Saya sudah mengerjakan pekerjaan rumah saya dulu, dan khususnya, sudah sudah diposting solusi yang serupa , masalah yang tersisa adalah: masih tidak memungkinkan untuk menentukan opsi pemasangan yang sewenang-wenang .
sastanin
@jetxee 1) Anda harus membangun setelah mengedit device.c berhenti di sana meninggalkan pertanyaan lain terbuka: Bagaimana cara membangun? 2) Saya menemukan jawaban-diri Anda berguna untuk masalah spesifik saya, jadi saya berikan kepada komunitas apa yang diberikan komunitas kepada saya: Saya menentukan opsi pemasangan sembarang mengikuti arahan Anda (dengan jalan memutar pabean) 3) Anda mengedit terlalu banyak: waktu kompilasi saya adalah jauh lebih sedikit dari milik Anda dan menginstal lebih sedikit sampah daripada pbuilder 4) Saya setuju untuk menghapus share your changesbagian, yang termasuk cp -pbaris cadangan: apt-get sourceakan membatalkan dengan baik setiap kegagalan.
Nilfred
Setuju. Sekarang ini adalah jawaban yang ditulis dengan baik. Terima kasih.
sastanin
0

Saya menemukan solusi untuk masalah file yang dapat dieksekusi pada Lucid (seharusnya tidak diperlukan pada Maverick). Lebih baru udisks 1.0.1+git20100614tidak membuat semua file pada partisi NTFS dapat dieksekusi. Ini memecahkan masalah khusus saya dengan file yang dapat dieksekusi, tetapi masih tidak memungkinkan untuk menentukan opsi pemasangan yang sewenang-wenang.

Berikut ini adalah instruksi langkah demi langkah bagaimana saya membangun udiskspaket port-back .

Ubah direktori ke tempat Anda ingin mengunduh paket sumber dan mengunduhnya:

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 

Untuk membangun yang lebih baru, udiskssaya menggunakan pbuilder:

sudo aptitude install pbuilder
sudo pbuilder create
sudo pbuilder --update
sudo pbuilder --build udisks_1.0.1+git20100614-1.dsc 

Ini mungkin memakan waktu lama tetapi itu berhasil untuk saya. Sekarang Anda dapat menginstal paket yang baru dibangun:

cd /var/cache/pbuilder/result/
ls *.deb
sudo dpkg -i udisks_1.0.1+git20100614-1_amd64.deb

Paket ini harus lebih disukai daripada paket distribusi ( 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

Sekarang file biasa pada partisi NTFS yang dipasang secara otomatis tidak dapat dieksekusi lagi. Saya harap perbaikan ini menemukan jalannya ke pembaruan resmi Lucid.

sastanin
sumber
Di Ubuntu 16.04 saya file di partisi NTFS masih dapat dieksekusi secara default. Saya harus mengkonfigurasi drive di fstab untuk memperbaikinya.
Stefan Monov
-2

Ini karena drive NTFS tidak dibuat untuk linux, itu dibuat untuk Windows, dan Windows membuat semuanya dapat dieksekusi secara default.

Satu-satunya cara untuk mengaturnya agar tidak dapat dieksekusi secara default adalah dengan mengedit fstab untuk setiap drive, atau mengubahnya menjadi fat32.

dkuntz2
sumber
Ini menjawab pertanyaan yang salah. Partisi NTFS bekerja dengan baik di Linux, dan bit yang dapat dieksekusi dapat dinonaktifkan pada semua file dengan opsi fmask = 0111. Pertanyaannya adalah bagaimana saya bisa mengkonfigurasi mekanisme automounting Ubuntu modern ?
sastanin
Anda tidak bisa, baca paragraf kedua. Anda harus mengalihkan semua drive tersebut ke FAT32 agar tetap kompatibel dan tidak dapat dieksekusi secara default.
dkuntz2
Memilih FAT32 atau NTFS tidak ada hubungannya dengan pengaturan fmask.
Ryan C. Thompson
Tetapi secara default file pada drive fat32 diatur ke tidak dapat dieksekusi. Maka semacam solusi.
dkuntz2