Praktik terbaik untuk memasang partisi Windows

13

Saya menjalankan dual boot Windows dan Debian di Laptop saya. Saya menggunakan Linux sebagian besar tetapi dari waktu ke waktu saya perlu mengakses file saya di partisi Windows saya. Partisi Windows saya dipasang sebagai berikut pada saat startup.

>cat /etc/fstab |grep Win7
LABEL=Windows7_OS /mnt/Win7 auto nosuid,nodev,nofail,x-gvfs-show 0 0

Pada dasarnya setiap file di partisi Windows dimiliki oleh root: root dan memiliki izin 777. Maka setiap kali saya mv file ke partisi (Linux) saya yang bekerja, saya memiliki 777 file di bawah partisi saya, yang dimiliki oleh saya (sementara cp di terminal akan memberikan 755 file tetapi jika dilakukan melalui gnome akan menyimpan file dengan izin 777) .

Apakah ini praktik terbaik untuk memasang partisi? Atau haruskah saya me-mount-nya sehingga alih-alih root, saya adalah pemilik semua file / dir dan entah bagaimana dapat mengatur semua dir ke 755 dan file ke 644 ketika mount terjadi saat boot? Jika demikian, bagaimana itu bisa dilakukan?

albertma789
sumber
2
tidbit minor (uooc ...):grep Win7 /etc/fstab
Olivier Dulac

Jawaban:

17

Anda dapat menggunakan fmaskdan dmaskme - mount opsi * untuk mengubah pemetaan izin pada sistem file ntfs.

Untuk membuat file muncul rw-r--r--(644) dan direktori rwxr-xr-x(755) gunakan fmask=0133,dmask=0022. Anda dapat menggabungkan ini dengan uid=dan gid=opsi untuk memilih pemilik dan grup file jika Anda perlu akses tulis untuk pengguna Anda.

* fmaskdan dmasksepertinya berfungsi untuk driver kernel (read-only) juga, bahkan mereka tidak didokumentasikan di halaman manual mount . Mereka adalah opsi yang didokumentasikan untuk ntfs-3g.

sebasth
sumber
Umask default saya sudah 0022. Tetapi ketika saya mv file menggunakan terminal dari Win7 ke rumah saya file tersebut masih 777.
albertma789
2
Fmask dan dmask dalam jawabannya adalah opsi mount . Ketika Anda mengubahnya di fstab dan remount sistem file file / direktori di sistem file Windows Anda akan muncul dengan izin 644/755 bukan 777/777.
sebasth
5
LABEL=Windows7_OS /media/Win7 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0bekerja seperti pesona. Apa yang saya butuhkan!
albertma789
Apakah mungkin untuk mengatur default seperti itu untuk sistem file tertentu (FAT32 / NTFS) daripada drive tertentu? Akan menyenangkan jika tersedia saat ini menggunakan flash drive dan media yang dapat dipindahkan lainnya.
JAB
7

Pertama-tama ini bukan bagaimana Anda harus menggunakan / mnt. Itu untuk melakukan tugas administratif pada sistem file sementara tidak setiap boot sistem.

Karena partisi windows tidak membuat bagian dari menjalankan sistem Linux, masuk akal untuk memasangnya di bawah / media. Anda mungkin juga ingin mempertimbangkan untuk memasangnya di root / as / Windows untuk menghindari kebingungan tentang / media untuk media yang dapat dipindahkan.

Adapun izin saya akan menggunakan grup yang disebut windows

groupadd -g 1001 Windows

dan berikan izin yang Anda inginkan dengan opsi seperti:

gid=1001,umask=022

Jika Anda ingin menggunakan cp dan mempertahankan izin antara sistem file yang terpisah, gunakan cp dengan flag -p atau -a.

jwwolf
sumber
Umask default saya sudah 0022. Tetapi ketika saya mv file menggunakan terminal dari Win7 ke rumah saya file tersebut masih 777. Mount ke / media sebagai gantinya adalah saran bagus!
albertma789
Saat menyalin file antara sistem file, izin default untuk sistem file itu digunakan kecuali Anda menyimpannya. Lihat jawaban saya yang diperbarui.
jdwolf
Meskipun saya setuju /mnttidak optimal untuk titik pemasangan, /mediauntuk media yang dapat dilepas (mis. DVD dan drive USB). Saya tidak yakin ada jawaban yang baik di mana mount seharusnya terjadi: unix.stackexchange.com/questions/29134/…
StrongBad
@ StrongBad Filesystem Hierarchy Standard tidak terlalu standar terutama pada direktori sejak yang lama Unix. Misalnya FHS 2.3 tidak mencerminkan praktik / run saat ini. Lihatlah FHS 3.0 refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s11.html yang lebih lanjut menunjukkan tidak menggunakan / mnt untuk ini tetapi rasionalnya jauh lebih jelas daripada "secara teknis windows tidak dapat dilepas media" Ini juga patut dicatat bahwa tidak ada yang salah dengan memasang direktori Anda sendiri di / root.
jdwolf
4

Menggunakan opsi untuk mount uid, gid, fmaskdan dmaskAnda dapat membuat seluruh NTFS filesystem diakses oleh pengguna akun biasa dan / atau satu kelompok. Tapi itu semua-atau-tidak sama sekali: sejauh menyangkut filesystem NTFS itu seperti menjalankan sebagai Administrator penuh sepanjang waktu di Windows, atau seperti melakukan segala sesuatu sebagai root di Linux. The ntfs-3gNTFS driver filesystem bisa lebih baik dari itu.

Jika Anda menggunakan ntfs-3g, Anda dapat menggunakan ntfsusermapperintah untuk membuat file pemetaan pengguna untuk sistem file NTFS Anda. Perintah ini akan membantu Anda dalam mengidentifikasi nama pengguna Windows dan Windows SID yang sesuai dan mengaitkannya dengan ID pengguna dan grup Linux.

Dengan cara ini, Anda dapat mengaitkan SID dari akun pengguna Windows Anda ke Linux UID Anda. Dengan begitu, setelah Anda memasang sistem file NTFS dengan file pemetaan pengguna di tempatnya <NTFS filesystem root>/.NTFS-3G/UserMapping, Anda dapat menggunakan akun pengguna Linux biasa untuk mengakses sistem file NTFS persis seperti yang dapat diakses oleh akun pengguna Windows Anda. Untuk hal-hal yang Anda perlukan izin Administrator di Windows, Anda masih perlu root di Linux.

Dengan cara ini, Anda akan mendapatkan akses mudah ke file Anda di partisi Windows, tetapi masih terlindungi dari mengacaukan \Windowsdirektori Anda dengan perintah yang salah ketik, kecuali jika Anda menjalankannya sebagai root.

Anda mungkin juga ingin menggunakan windows_namesopsi pemasangan pada partisi NTFS untuk mencegah Anda secara tidak sengaja membuat file dengan nama yang tidak dapat diakses Windows.

telcoM
sumber