Drive USB dipasang secara otomatis oleh pengguna tetapi mendapat izin menulis untuk root saja

20

Saya mencoba menggunakan drive USB ext4 saya tetapi Ubuntu 13 saat ini memasangnya dengan izin menulis hanya untuk root sehingga dengan pengguna normal saya, saya tidak bisa menulis ke sana, tanpa sudo.

Tempat pertama yang saya periksa adalah dconf-editoryang memiliki opsi berikut

  • automount
  • buka otomatis
  • autorun-tidak pernah
  • autorun-x-content-diabaikan
  • autorun-x-content-open-folder
  • autorun-x-content-start-app

dan menurut saya harus ada opsi di sana untuk mengontrol apakah saya dapat menulis ke drive USB yang terpasang, tetapi tidak.

Saya juga memastikan pengguna saya ada di grup yang relevan: fusedanplugdev

Saya telah mencari sebagian besar internet dan tidak dapat menemukan solusi untuk mengubah izin yang diberikan oleh operasi mount. Secara harfiah tidak ada orang di luar sana yang memiliki masalah ini luar biasa. Banyak orang memiliki masalah karena drive mereka benar-benar hanya-baca, tetapi tidak dengan cara ini hanya dengan izin root menulis.

Saya tidak bisa melihat cara apa pun untuk mengendalikan apa yang terjadi. Saya melihat pengaturan opsi mount menggunakan gnome-diskstetapi menarik kosong.

Itu tidak ada fstabtetapi muncul di mountdaftar atau / etc / mtab:

/dev/sdb1 /media/adam/WDPassport2T ext4 rw,nosuid,nodev,uhelper=udisks2 0 0

Inilah yang muncul di syslog jika itu membantu:

kernel: [111522.196770] usb 2-1: USB disconnect, device number 6
kernel: [111525.384020] usb 2-1: new high-speed USB device number 7 using ehci-pci
kernel: [111525.565220] usb 2-1: New USB device found, idVendor=1058, idProduct=0820
kernel: [111525.565225] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
kernel: [111525.565227] usb 2-1: Product: My Passport 0820
kernel: [111525.565229] usb 2-1: Manufacturer: Western Digital
kernel: [111525.565231] usb 2-1: SerialNumber:  575832314141334A34383631
kernel: [111525.565729] usb-storage 2-1:1.0: USB Mass Storage device detected
kernel: [111525.566203] scsi9 : usb-storage 2-1:1.0
mtp-probe: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1"
mtp-probe: bus: 2, device: 7 was not an MTP device
kernel: [111526.564697] scsi 9:0:0:0: Direct-Access     WD       My Passport 0820 1007 PQ: 0 ANSI: 6
kernel: [111526.565063] scsi 9:0:0:1: Enclosure         WD       SES Device       1007 PQ: 0 ANSI: 6
kernel: [111526.568096] sd 9:0:0:0: Attached scsi generic sg2 type 0
kernel: [111526.568202] ses 9:0:0:1: Attached Enclosure device
kernel: [111526.568263] ses 9:0:0:1: Attached scsi generic sg3 type 13
kernel: [111531.263108] sd 9:0:0:0: [sdb] 3906963456 512-byte logical blocks: (2.00 TB/1.81 TiB)
kernel: [111531.265100] sd 9:0:0:0: [sdb] Write Protect is off
kernel: [111531.265105] sd 9:0:0:0: [sdb] Mode Sense: 47 00 10 08
kernel: [111531.266473] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.266479] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.272224] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.272230] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.284885]  sdb: sdb1
kernel: [111531.288219] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.288223] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.288227] sd 9:0:0:0: [sdb] Attached SCSI disk
kernel: [111531.751588] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
udisksd[3131]: Mounted /dev/sdb1 at /media/adam/WDPassport2T on behalf of uid 1000
Adam
sumber
Coba jalankan sudo umount /dev/sdb1, lalu pasang sebagai pengguna normal. The mtabentri memiliki user=adam, yang seharusnya berarti pengguna adamdapat menggunakannya ...
Wilf
@wilf sebenarnya ini adalah entri mtab kedua yang memiliki user = adam, bukan drive USB. Saya tidak tahu apa itu sekering gvfsd. Mungkin tidak relevan tapi saya bingung mengapa satu entri memilikinya, tetapi tidak dengan usb drive.
Adam
Aduh ... Harus lebih memperhatikan. Entri itu sendiri baik-baik saja, jadi itu harus berfungsi ... Apakah Anda memasang dan melepas drive secara grafis, atau melalui baris perintah? - Menjalankan gvfs-mount -d /dev/sdb1harus memasang drive, juga harus udisks --mount /dev/sda5. Ini seharusnya tidak memerlukan kata sandi root, karena mereka menggunakan gvfsdentri untuk memungkinkan akses.
Wilf
jadi gvfs ada hubungannya dengan itu. Saat ini saya sedang memasang dan melepas drive secara grafis melalui nautilus, tetapi saya sebenarnya ingin itu dilakukan secara otomatis pada lampiran sehingga proses backupdb dapat menggunakan drive. Terjadi pada saya bahwa ini adalah masalah lain bahkan jika saya mendapatkan izin menulis diurutkan.
Adam
1
@ Adam, apa tipe sistem file perangkat USB Anda? dan apa artinya ls -ld /media/adam/WDPassport2Tdan ls -l /media/adam/WDPassport2Tkeluaran?
tepat

Jawaban:

25

Alasan yang mungkin terjadi adalah Anda memformat / membuat disk penyimpanan dengan alat dengan hak istimewa root dan sistem file yang dibuat dimiliki oleh root .

Mari kita lihat o / p dari lsperintah Anda :

$ ls -ld /media/adam/WDPassport2T
drwxr-xr-x 4 root root 4096 Jan 15 16:57 /media/adam/WDPassport2T
$ ls -l /media/adam/WDPassport2T
total 20 
drwxr-xr-x 2 root root 4096 Jan 15 16:57 backuppc 
drwx------ 2 root root 16384 Jan 15 15:37 lost+found

File-system dimiliki oleh root, seperti yang ditunjukkan oleh ls -lduntuk mount Anda WDPassport2T dan string izin drwxr-xr-x menunjukkan root pemilik memiliki izin RW sementara, anggota grup root bersama dengan dunia / orang lain hanya akan memiliki izin-R.

Untuk menyelesaikannya Anda dapat mengubah izin dengan chmodatau hanya mengubah kepemilikan secara rekursif, dan inilah yang saya tunjukkan di bawah ini:

sudo chown <username>:<groupname> -R /path/to/target

yang dalam kasus Anda adalah:

sudo chown adam:adam -R /media/adam/WDPassport2T/

Sekarang jika Anda perlu, Anda juga dapat mengatur izin dengan chmod:

find /media/adam/WDPassport2T/ -type f -execdir chmod 666 -Rv {} +

(yang memberikan izin pemilik, grup, dan RW dunia untuk semua file di target.)

find /media/adam/WDPassport2T/ -type d -execdir chmod 777 -Rv {} +

(yang memberikan izin pemilik, grup, dan RWX dunia untuk semua direktori di target.)

Referensi:

Dokumentasi Resmi Ubuntu: Izin File

tepat
sumber
Fantastis. Saya tidak berpikir untuk mencoba itu karena saya hanya mengasumsikan izin file pada / media / adam / WDPassport2T ditetapkan oleh proses mount, yaitu saya tidak menyadari drive USB yang sebenarnya (atau titik mount yang dialokasikan) akan memperoleh dan menyimpan izin. Jadi akan ada masalah serupa dengan izin / kepemilikan jika saya menancapkan disk ke kotak lain?
Adam
1
@Adam: "... apakah akan ada masalah dengan izin / kepemilikan jika saya menancapkan disk ke kotak lain?" baik saya tidak yakin jadi saya memposting T ini: Seberapa portabel perintah chmod dan chown? ..jika ingin memiliki izin RW untuk file / direktori di sistem lain juga, Anda dapat mengizinkan RW untuk dunia / lainnya menggunakan chmod, silakan merujuk ke jawaban yang diperbarui ...
tepat
Jika saya memformat USB drive ext4 menggunakan gksu gparted, apakah itu secara otomatis membuat saya pemilik USB drive itu, atau apakah jika masih diformat dengan root sebagai pemilik?
Marc
Ini tidak bekerja Saya masih mendapatkan operasi yang tidak diizinkan ketika saya mencoba dan menemukan sesuatu pada titik mount itu.
Fr0ntSight
Tetapi pertanyaannya adalah mengapa drive di- mount sebagai root di tempat pertama. Apakah ada pengaturan yang dapat saya atur sehingga di masa depan drive dipasang oleh pengguna saya sebagai gantinya?
becko
1

Sudahkah Anda mencoba memformat ulang drive dengan izin Anda sendiri?

Pertama, periksa id pengguna Anda:

sudo id -u red

Seharusnya memberi "1000"

Selanjutnya, lepaskan drive di filemanager.

Hati-hati, Anda akan kehilangan semua data Anda dengan perintah berikutnya

sudo mkfs.ext4 /dev/sdx1 -E root_owner=1000:1000

Pasang drive dan Anda harus dapat menulis file dan folder

merah
sumber
1

Sebagian besar alat pemartisian & pemformatan (seperti Gparted) membutuhkan hak akses root.

Sistem file seperti ext4, ext3 menyimpan informasi kepemilikan file dengan pen drive itu sendiri. (Tapi ntfs, fat32, fat16 tidak memiliki keamanan seperti itu)

Dalam hal ini Anda harus mengubah izin dengan menggunakan perintah berikut di terminal.

chown -hR nobody:nogroup /media/adam/WDPassport2T/

dengan menetapkan pengguna sebagai "tidak ada" & grup sebagai "nogroup" itu akan memperbaiki masalah yang sama dengan izin / kepemilikan ketika dicolokkan disk ke kotak lain.

untuk info lebih lanjut lihat halaman manual untuk perintah chown (gunakan " man chown")

Thadika
sumber
Tidak nobodyapa - apa. Tapi id pengguna saya bukan siapa-siapa, dan itu mencegah saya untuk menulis.
K3 --- rnc
0

Sistem file dimiliki oleh root, seperti yang ditunjukkan oleh ls -ld untuk mount WDPassport2T Anda dan string izin drwxr-xr-x menunjukkan root pemilik memiliki izin RW sementara, anggota grup root bersama dengan dunia / lainnya hanya akan memiliki izin-R.

linlin zaw
sumber