baca dan tulis izin untuk partisi FAT32 di Ubuntu


16

Ini masalah aneh. Saya memiliki tabel partisi berikut

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        5737    45978624    7  HPFS/NTFS
/dev/sda3            5738       10600    39062047+  83  Linux
/dev/sda4           10601       19457    71143852+   5  Extended
/dev/sda5           10601       11208     4883728+  82  Linux swap / Solaris
/dev/sda6           11209       15033    30720000    b  W95 FAT32
/dev/sda7           15033       19457    35537920    7  HPFS/NTFS

Saya dual boot Win7 (sda2) dan Ubuntu (sda3) dan ingin menggunakan partisi FAT32 untuk berbagi file di dua OS.

Saya mengikuti beberapa tutorial online dan telah melakukan ini:

sudo mkdir /media/FAT32
sudo chmod 777 /media/FAT32
sudo mount /dev/sda6/ /media/FAT32

setelah saya memasang file, saya hanya bisa membaca tetapi tidak bisa menulisnya.

Saya memeriksa izin file, itu menjadi:

drwxr-xr-x

tapi setelah saya unmount maka itu menjadi

drwxrwxrwx

dan saya bisa membaca dan menulis untuk itu.

Saya tidak tahu kesalahan saya.

Jawaban:


18

Coba pasang dengan rw dan tentukan jenisnya:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx

di mana uid dan gid adalah akun pengguna Anda.


Umask berpengaruh ketika membuat file baru.
geek

userdan automerupakan opsi untuk fstabentri; mereka tidak sangat berguna di commandline.
Quack quixote

ya saya baru saja menerjemahkan salah satu entri fstab saya ke baris perintah. Dibiarkan dalam beberapa bit yang tidak berguna tetapi mereka juga tidak benar-benar berbahaya.
John T

2
sudo mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)
chefarov

1

Untuk sistem file FAT, ketersediaan baca / tulis diatur oleh opsi pemasangan.

Konsultasikan halaman manual untuk pemasangan dan baca tentang opsi pemasangan uid dan gid untuk FAT.


1

Sudahkah Anda mencoba menulis ke file dengan sudoperintah? Itu akan bekerja dengan pengaturan Anda saat ini.

Untuk membuat penulisan file agar pengguna normal Anda berfungsi, Anda harus menggunakan uiddan gidopsi untuk mount, untuk mengatur pemilik file pada partisi ke ID pengguna Anda saat ini. Anda mungkin juga ingin baik umaskatau dmaskdan fmaskpilihan.

mountPerintah Anda akan terlihat seperti ini:

sudo mount -t vfat /dev/sda6 /media/FAT32 -o uid=1000,gid=1000,umask=022
# assuming your user's UID is 1000, GID is 1000
# umask=022 sets permission mode 755 for all files on the partition

1

Anda memiliki urutan yang salah pada perintah yang Anda inginkan:

sudo mkdir /media/FAT32
sudo mount /dev/sda6 /media/FAT32
sudo chmod 777 /media/FAT32

Apa yang terjadi adalah bahwa / media / FAT32 mewakili direktori yang berbeda sebelum dan sesudah mount. Sebelum itu adalah direktori yang Anda buat, dan yang Anda pilih 777. Setelah itu, itu adalah direktori root dari sistem file di / dev / sda6.


1

Jika Anda lupa tentang baris perintah dan mount dengan Nautilus, itu harus mengaturnya seperti yang Anda inginkan.

Dari terminal, izin folder sebelum pemasangan tidak masalah. Opsi pemasangan yang diperhitungkan. Mencoba:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx,umask=133,dmask=022

Ini akan mengatur file rw-r--r--dan folder rwxr-xr-x.

Jika Anda ingin pengguna / grup lain dan izin, misalnya untuk menyalin file dari FAT32 ke partisi ext4 dengan atribut yang diinginkan, lebih baik berkonsultasi dengan mounthalaman manual. Kira-kira Anda mengenakan umaskkebalikan dari apa yang akan Anda kenakan chmod.


0

Kadang-kadang saya kehilangan disk windows dari Linux dan saya menyelesaikan menggunakan mount dengan "-o force", seperti contoh ini:

sudo mount -t ntfs-3g /dev/sda1 /media/win -o force

Dalam kasus Anda, menjadi FAT32 yang harus Anda baca, tetapi saya akan membantu tip ini. Bagaimanapun, cobalah dengan risiko Anda sendiri!


0

Saya memiliki masalah yang persis sama dan satu-satunya hal yang benar-benar berfungsi adalah:

sudo mount -t vfat  /dev/sda6 /media/FAT32 -o rw,umask=0000

Lihat juga jawaban itu


Saya melakukan ini, kunci usb masih menulis dilindungi
Eildosa

Apakah kamu sudah mencoba chmod 777 /media/FAT32?
lauhub

1
untuk beberapa alasan menghapus ", umask = 0000" bekerja
Eildosa

0

Tanpa me-mount secara manual, garis fstab melakukan trik,

UUID = 1DD9-0D44 / media / exthd / TERABYTE_G vfat rw, noatime, uid = 1000, gid = 1000, pengguna 0 0

(uid, gid adalah pengguna Anda, / media / exthd / TERABYTE_G harus dibuat sebelumnya)

tetapi perhatikan, mount -a tampaknya tidak berlaku dengan benar untuk menguji baris fstab baru, jadi reboot penuh bisa membantu.


0

Sangat penting memperbaiki / memeriksa disk di bawah windows sebelum menggunakannya di linux, secara default driver fat / ntfs menonaktifkan write jika mereka menemukan kesalahan pada disk

chkdsk d: /f 

Kemudian

sudo mount -t vfat /dev/sdc1 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)

seperti yang digerakkan sebelumnya

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.