Bagaimana saya bisa memasang sistem file, memetakan userids?


16

Saya berhasil me-mount partisi ext4, masalahnya adalah bahwa semua file pada partisi tersebut dimiliki oleh pengguna dengan userid 1000. Pada satu mesin, userid saya adalah 1000, tetapi pada yang lain itu 1010. Nama pengguna saya sama pada kedua mesin , tapi saya menyadari bahwa filesystem menyimpan userids, bukan nama pengguna.

Saya dapat memperbaiki kepemilikan file dengan sesuatu seperti berikut:

find /mnt/example -exec chown -h 1010 {} \;

Tapi kemudian saya harus memperbaiki kepemilikan file kembali ke 1000 ketika saya memasang drive eksternal ini di komputer lain.

Yang saya inginkan adalah memberikan mountopsi dengan mengatakan peta userid 1000 hingga 1010, sehingga saya tidak harus benar-benar memodifikasi file apa pun. Apakah ada cara untuk melakukan ini?



Saya mencari pertanyaan ini satu setengah tahun kemudian, menemukan ini, ingin membesarkan hati, hanya untuk menemukan bahwa saya mengajukan pertanyaan ini sendiri!
Flimm

Anda masih dapat menjadikannya favorit, bahkan jika Anda tidak dapat memilihnya: -O
Anthon

Jawaban:


18

Lihatlah paket bindfs . bindfs adalah sistem file FUSE yang memungkinkan berbagai manipulasi izin file, kepemilikan file, dll. di atas sistem file yang ada.

Anda mencari opsi --map dari bindfs:

--map=user1/user2:@group1/@group2:..., -o map=...
    Given a mapping user1/user2, all files owned by user1 are shown as owned by user2. When user2 creates files, they are chowned to user1 in the underlying directory. When files are chowned to user2, they are chowned to user1 in the underlying directory. Works similarly for groups.

    A single user or group may appear no more than once on the left and once on the right of a slash in the list of mappings. Currently, the options --force-user, --force-group, --mirror, --create-for-*, --chown-* and --chgrp-* override the corresponding behavior of this option.

    Requires mounting as root. 

Jadi untuk memetakan file Anda dengan ID pengguna 1001 /mnt/wrongke /mnt/correctdengan ID pengguna 1234, jalankan perintah ini:

sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct

Saya fuse: unknown option `--map=1004/1002'menggunakan server Ubuntu 12.04.5 LTS saya. Saya ingin tahu apakah versi bindf atau sekering saya sudah ketinggalan zaman ...
Zero3

1

Anda dapat menggunakan bindf . Itu dapat mengikat filesystem ke beberapa mountpoint lain dengan uid / gid yang berbeda. Namun saya pikir saya hanya akan mengubah uid sehingga sama pada kedua sistem.

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.