Bagaimana cara memberi beberapa pengguna akses ke partisi Windows NTFS?

8

Saya memiliki hard drive USB yang terhubung ke mesin Ubuntu (11.04) saya. Setiap kali saya me-reboot komputer dan login itu memasang hard-drive. Karena disk memiliki NTFS di dalamnya, Linux menetapkan beberapa pengguna untuk menjadi pemilik file pada disk. Jadi semua file pada disk muncul dimiliki oleh satu pengguna dan hanya pengguna yang dapat melihat file tersebut.

Saya menggunakan dua akun pengguna di komputer saya dan sering beralih di antara mereka. Setelah saya beralih ke akun pengguna lain, saya tidak dapat lagi mengakses konten disk karena dimiliki oleh akun pengguna pertama saya. Apakah ada yang bisa dilakukan kecuali memasangnya melalui / etc / fstab?

Terima kasih.

Alexander Sandler
sumber

Jawaban:

14

Mounting dengan izin khusus

Ada. Satukan kedua pengguna dalam satu grup. Kemudian gunakan grup itu untuk mengatur gid=opsi dan dan pasang disk Anda dengan izin yang Anda inginkan. Anda dapat mengontrol izin dengan umask=, fmask=dan dmask=opsi di perintah mount. Berikut ini sebuah contoh:

mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/sdc1 /media/winhdd

Opsi ini juga dapat digunakan dalam /etc/fstabseperti ini: UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,dmask=007,fmask=117,gid=46,uid=1000 0 2.

Menghindari fstab - mengotomatiskan disk tertentu dengan udev

Saya membayangkan Anda ingin menghindari fstab karena disk tidak selalu terhubung saat boot. Jika Anda ingin menghindari fstab gunakan aturan udev . Udev dapat secara otomatis memasang (dan mencegah Ubuntu dari penghitungan otomatis) ketika disk terhubung. Aturan untuk itu mungkin terlihat seperti ini:

# In /etc/udev/rules.d/70-usb-winhdd-mount.rules

KERNEL=="sd?[0-9]", ATTR{removable}=="1", ATTRS{serial}=="UA04FLGC", ACTION=="add", RUN+="mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/%k /media/winhdd"

Anda harus mengidentifikasi disk dengan propertinya. Dalam contoh saya, saya melakukan ini dengan ATTRS{serial}=="UA04FLGC". Saya menjelaskan bagaimana melakukan ini di pertanyaan lain . Penamaan dan lokasi file aturan dijelaskan di sana juga.

Berikan semua removable disk properti tersebut

Jika Anda ingin melakukan ini dengan semua removable disk - tidak hanya itu, cukup tinggalkan bagian serial dan pastikan untuk menetapkan mountpoint unik (menghitungnya, membuat dari serial,% -simbol udev atau metode lain). Juga seperti yang dinyatakan di tempat lain ENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000" bisa menjadi pilihan untuk memasang semua removable disk dengan izin / onwership tertentu.


Informasi berguna yang mungkin sudah Anda ketahui:

Membuat grup dan menambahkan pengguna

Itu adalah perintah shell untuk membuat grup bernama 'winhdd' dan menambahkan pengguna bernama 'confus' ke grup itu:

groupadd winhdd
usermod -a -G winhdd confus

Mencari tahu id grup

Anda dapat menemukan id grup dari semua grup di sistem Anda dalam file bernama /etc/group. Entri di sana terlihat di winhdd:x:4:confus,narur,joemana 'confus', 'narur' dan 'joe' adalah nama pengguna dari grup itu, 'adm' adalah nama grup dan '4' id grup, yang Anda cari. Di /etc/groupsAnda juga dapat memeriksa apakah menambahkan pengguna ke grup Anda berhasil. Perintah getent group winhddakan menunjukkan baris dengan informasi tentang grup. The idperintah memberikan kelompok id, user id dan nama dan id dari semua kelompok milik Anda.

Pengaturan opsi seperti umask

Anda ingin mengatur dmask=ke nilai yang masuk akal yang memungkinkan Anda setidaknya menjalankan (= akses) direktori. fmask=adalah opsi untuk izin file.

dmask=007,fmask=117,gid=46,uid=1000memungkinkan pemilik yang nomor pengguna 1000 (digit pertama di topeng) dan anggota grup nomor 46 (digit kedua di topeng) untuk membaca dan menulis dan file di disk. Pengguna lain tidak memiliki hak untuk melakukan apa pun (karenanya digit ketiga di topeng - 7). Berikut adalah nilai-nilai mask :

7 – no permissions     6 – execute only    5 – write only
4 – write and execute  3 – read only       2 – read and execute
1 – read and write     0 – read, write and execute
con-f-use
sumber
Saya sudah membaca bahwa entri ntfs fstab harus diset dengan nilai dmask & fmask bukan nilai umask ... dmask 027 dan fmask 137 - ubuntuforums.org/showthread.php?&t=283131
fossfreedom
Benar, direktori harus memiliki izin yang dapat dieksekusi. Jika Anda ingin file dapat dieksekusi, umask tidak apa-apa. Lain dmask dan fmask adalah cara untuk pergi.
con-f-use