Posso montare correttamente una partizione ext4, il problema è che tutti i file sulla partizione sono di proprietà dell'utente con userid 1000. Su una macchina, il mio userid è 1000, ma su un'altra è 1010. Il mio nome utente è lo stesso su entrambe le macchine , ma mi rendo conto che il filesystem memorizza gli ID utente, non i nomi utente.
Potrei correggere la proprietà del file con qualcosa di simile al seguente:
find /mnt/example -exec chown -h 1010 {} ;
Ma poi dovrei correggere nuovamente le proprietà dei file a 1000 quando monto questa unità esterna su un'altra macchina.
Quello che vorrei è dare mount
un'opzione che dice mappa userid da 1000 a 1010, in modo da non dover modificare effettivamente alcun file. C'è un modo per farlo?
Risposta accettata:
Dai un'occhiata al pacchetto bindfs. bindfs è un filesystem FUSE che consente varie manipolazioni dei permessi dei file, della proprietà dei file ecc. sopra i filesystem esistenti.
Stai cercando specificamente l'opzione –map di 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.
Quindi per mappare i tuoi file con l'ID utente 1001 in /mnt/wrong
a /mnt/correct
con ID utente 1234, esegui questo comando:
sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct