Bagaimana cara me-mount sistem file linux secara manual baca / tulis sebagai pengguna normal?

19

Ini mungkin tampak seperti pertanyaan bodoh, tetapi dengan sebagian besar hal-hal Linux, bagi saya tampaknya banyak hal sepele yang tidak didokumentasikan.

Lagi pula, saya hanya ingin me-mount sistem file ext4 ke titik mount normal di Ubuntu (/ media / di mana saja), sebagai read-writable untuk pengguna yang masuk saat ini, yaitu saya.

Saya tidak ingin menambahkan apapun ke / etc / fstab, saya hanya ingin melakukannya sekarang, secara manual. Saya perlu hak super-pengguna untuk memasang perangkat, tetapi hanya root yang dapat membaca-menulis pemasangan itu. Saya sudah mencoba berbagai opsi mount, menambahkannya ke fstab, tetapi tidak berhasil.

nicodemus13
sumber
Apakah ada alasan mengapa Anda tidak ingin memasangnya di suatu tempat di dalam direktori home Anda?
Robert S Ciaccio

Jawaban:

13

Pada sistem file ext4 (seperti ext2, ext3, dan sebagian besar sistem berkas yang berasal-unix lainnya), izin file yang efektif tidak bergantung pada siapa yang memasang sistem file atau opsi pemasangan, hanya pada metadata yang disimpan dalam sistem file.

Dengan Ubuntu, pemasangan akan terjadi secara otomatis ketika Anda memasukkan disk, atau Anda harus dapat mengklik ikon untuk memasang. Anda juga dapat menginstal pmountuntuk memasang sistem file sebagai pengguna biasa dari baris perintah.

Jika Anda memiliki sistem file yang dapat dilepas yang menggunakan ID pengguna yang berbeda dari sistem Anda, Anda dapat menggunakan bindfs(dalam paket Ubuntu dengan nama yang sama) untuk memberikan tampilan sistem file dengan kepemilikan atau izin yang berbeda. Sistem file yang dapat dilepas harus sudah terpasang, misalnya pada /media/disk9; kemudian, jika Anda ingin tampil sebagai pemilik semua file, Anda bisa menjalankannya

mkdir ~/disk9
sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9
Gilles 'SANGAT berhenti menjadi jahat'
sumber
Terima kasih! Ini bekerja untuk saya dengan ext3. Perhatikan bahwa saya harus me-mount filesystem ext3 terlebih dahulu ke direktori mount, kemudian mount direktori itu dengan bindf ke direktori final.
Ilari Kajaste
8

Ketika Anda memasang sistem file ext4, ia menggunakan izin yang tertanam dalam sistem file itu. Jika Anda ingin menimpanya, gunakan yang berikut ini:
1. Temukan UID pengguna yang ingin Anda pasang sebagai: id <username>dan cari UID = <userid> (<username>) GID = <groupid> (<groupname>) 2 .sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

Ini akan memasang sistem file dan menandai pengguna yang ditentukan sebagai pemilik semua file, dan grup yang ditentukan sebagai grup untuk semua file. nosuidadalah ukuran keamanan yang mencegah pengguna dari membawa program suid dan menggunakannya untuk mendapatkan akses root ke sistem (yaitu, versi bash suid pada filesystem). Menambahkan noexecopsi akan memberikan keamanan tambahan, tetapi akan mencegah pengguna dari mengeksekusi file pada sistem file.

Catatan: Jika Anda hanya mencoba berinteraksi dengan sistem file sendiri, Anda harus memperbaiki izin pada perangkat, atau berinteraksi dengan itu sebagai root jika itu hanya hal sementara (yaitu, memulihkan instalasi yang rusak).

Jika ini untuk memasang USB atau drive eksternal yang dapat dilepas lainnya, Anda harus memeriksa pmountsistem yang dapat mengotomatiskan proses untuk Anda, atau setidaknya membuatnya lebih mudah (yaitu, pmount <device>harus membuat folder untuk Anda, pasang sebagai pengguna, dan memungkinkan Anda untuk melepasnya sebagai pengguna)

Darth Android
sumber
1
Adakah yang tahu apakah ini harus bekerja dengan EXT3 juga? Saya masuk EXT3-fs: Unrecognized mount option "uid=1000" or missing valuedmesg ketika saya mencobanya dengan ext3.
Ilari Kajaste
@Ilari: Ini tidak akan berfungsi dengan ext3, juga tidak dengan ext4. Sebagian besar driver Linux untuk sistem file unix tidak memiliki opsi pemetaan UID dan GID.
Gilles 'SANGAT berhenti menjadi jahat'
-1 Tidak berfungsi.
Ilari Kajaste
2

Anda dapat gunakan:

mount -o user /dev/devicenamedan useropsi di fstab Anda.

Andrey Regentov
sumber
1

Jika Anda tidak berminat untuk mengedit file / etc / fstab Anda dengan tangan, saya sarankan mencoba PySDM untuk menetapkan aturan untuk memasang sistem file ext4 Anda secara teratur. Itu dapat diinstal dengan menginstal paket "pysdm" di Synaptic, atau dengan mencari di Pusat Perangkat Lunak Ubuntu untuk "pysdm". Setelah diinstal, tersedia di bawah Sistem -> Administrasi -> Storage Device Manager ..

PySDM sedang beraksi

Zoot
sumber
1

Baru sadar setelah membaca komentar terakhir di http://ubuntuforums.org/showthread.php?t=2142284 bahwa semua yang harus dilakukan adalahsudo chown -Rvf <user>:<group> <mountpoint>

Ini semua yang diperlukan ...

SACHIN GARG
sumber
2
Ini adalah operasi yang merusak. Jika Anda melakukannya sebelum memasang, tidak ada bedanya untuk mengajukan kepemilikan pada drive yang dipasang; jika Anda melakukannya setelah pemasangan maka itu akan menimpa semua izin. Jika drive berisi instalasi Linux, mengubah izin seperti ini akan membuatnya tidak bisa di-boot setelah Anda melepasnya.
Warbo