Как я могу смонтировать файловую систему, отображая идентификаторы пользователей?

16

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

Я мог бы исправить владение файлом примерно так:

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

Но тогда я должен был бы снова исправить владение файлами до 1000, когда я подключил этот внешний диск на другой машине.

То, что я хотел бы, это дать mountопцию, скажем, ID пользователя карты от 1000 до 1010, чтобы мне не нужно было изменять какие-либо файлы. Есть ли способ сделать это?

Флимм
источник
Я ищу этот вопрос полтора года спустя, нашел это, хотел поднять голос, только чтобы обнаружить, что я сам задал этот вопрос!
Flimm
Вы все еще можете сделать его фаворитом, даже если не можете проголосовать за него: -O
Anthon

Ответы:

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
Tho85
источник
Я получаю fuse: unknown option `--map=1004/1002'на своем сервере Ubuntu 12.04.5 LTS. Интересно, не устарела ли моя версия bindfs или предохранителя ...
Zero3
1

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

megahallon
источник