Memasang sistem file ext3 dengan hak pengguna

12

Saya mencoba me-mount sistem file ext3 dari instalasi Linux lain sehingga pengguna, bukan root, akan memiliki akses penuh ke semua file. (Saya benar-benar membutuhkan pengguna untuk memiliki akses ke file-file itu, karena saya ingin menggunakannya dari komputer lain melalui sshfs, dan sshfs hanya akan memberikan hak akses pengguna ke file tersebut.)

Jika saya menjalankan mount /dev/sda1 /mnt/whateversemua file hanya dapat diakses oleh root.

Saya juga telah mencoba mount -o nosuid,uid=1000,gid=1000 /dev/sda1 /mnt/whateverseperti yang diperintahkan oleh pertanyaan SuperUser yang membahas ext4 tetapi gagal dengan kesalahan, dan dmesgmelaporkan:

EXT3-fs: Unrecognized mount option "uid=1000" or missing value

Bagaimana saya bisa memasang sistem file?

Ilari Kajaste
sumber
1
Saya akan mengatakan bahwa jawaban Gilles dalam pertanyaan SuperUser yang Anda sebutkan adalah yang benar. Memang, kemudian man page mount (8) tidak mendaftar uid=...dan gid=...opsi untuk tidak ada sistem file ext2 / 3/4.
Riccardo Murri
@Riccardo Terima kasih, itu solusi yang tepat! Pertama me-mount ext ke beberapa direktori secara teratur, kemudian me-mount direktori itu dengan bindfs -u $(id -u) -g $(id -g)ke tujuan akhir. Tulis itu sebagai jawaban, mungkin?
Ilari Kajaste
1
Karena jawabannya adalah milik Gilles dan dia juga sangat aktif di forum ini, saya akan menyerahkannya untuk mengirimnya kembali ke sini dan mengumpulkan kredit yang layak.
Riccardo Murri

Jawaban:

19

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.

Jika Anda memiliki sistem file yang dapat dilepas yang menggunakan ID pengguna yang berbeda dari sistem Anda, Anda dapat menggunakan bindfsuntuk memberikan tampilan sistem file apa pun dengan kepemilikan atau izin yang berbeda. Sistem file yang dapat dilepas harus sudah terpasang, misalnya pada /mnt/sda1; kemudian, jika Anda ingin pengguna tertentu muncul sebagai pemilik semua file, Anda dapat menjalankan sesuatu seperti

mkdir /home/$user/sda1
bindfs -u $user -g $group /mnt/sda1 /home/$user/sda1
Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Terima kasih dari saya juga! Dengan sedikit perubahan, ini juga berfungsi untuk perangkat seperti mis. DVD-ROM SATA hot-plug (yang merupakan perangkat yang bermasalah dengan saya). NAMUN, perangkat akan selalu dipasang 000untuk beberapa alasan (d ---------) sehingga Anda harus menentukan -p 700ke bindfsbaris untuk mengakses file pada DVD melalui dolphin/ nautilusdll, misalnya.
syntaxerror
Alangkah baiknya jika bindfsdapat menerima kamus untuk menerjemahkan set UID dan GID ...
Alexey