Як я можу встановити файлову систему, відображаючи користувальницькі користувачі?


16

Я можу успішно встановити розділ ext4, проблема полягає в тому, що всі файли на розділі належать користувачеві з користувачем userid 1000. На одній машині мій userid - 1000, а на іншому - 1010. Моє ім’я користувача однакове на обох машинах , але я розумію, що файлова система зберігає користувача, а не імена користувачів.

Я міг би виправити право власності на файл таким чином:

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

Але тоді мені доведеться знову виправити права власності на файли до 1000, коли я монтую цей зовнішній диск на іншій машині.

Я хотів би дати mountможливість сказати карту userid від 1000 до 1010, щоб мені не довелося фактично змінювати жодні файли. Чи є спосіб це зробити?



Шукаю це питання півтора року пізніше, знайшовши це, хотіли підняти голос, лише щоб виявити, що я це питання задавав сам!
Flimm

Ви все ще можете зробити його улюбленим, навіть якщо ви не можете підняти голосування: -O
Антон

Відповіді:


18

Погляньте на пакет bindfs . bindfs - це файлова система FUSE, яка дозволяє проводити різні маніпуляції з дозволами на файли, правом власності на файли тощо на вершині існуючих файлових систем.

Ви шукаєте спеціально для параметра --map 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. 

Таким чином , щоб відобразити файли з ідентифікатором користувача 1001 в /mnt/wrongдо /mnt/correctс ідентифікатором користувача 1234, виконайте наступну команду:

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

Я fuse: unknown option `--map=1004/1002'переходжу на свій сервер Ubuntu 12.04.5 LTS. Цікаво, чи застаріла моя версія bindfs чи запобіжника ...
Zero3

1

Ви можете використовувати bindfs . Він може прив’язати файлову систему до якоїсь іншої точки монтування з різними uid / gid. Однак я думаю, що я просто змінив uid, щоб він був однаковим для обох систем.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.