Synology — монтирование каталога через sshfs с сопоставлением пользователей и групп

Synology — монтирование каталога через sshfs с сопоставлением пользователей и групп

Я экспериментировал с sshfsнамерением получить доступ к каталогу на Synology box и смонтировать его через Terminal. Для этого я использую версию SSHFS, предоставленнуюFUSE для macOSпроект. Настройка следующая:

  • каталог на устройстве Synology /volume1/justnfs, который необходимо подключить, принадлежит user1:usersпользователю с идентификатором 1026 и идентификатором группы 100 и содержит каталоги/файлы, принадлежащие только этому пользователю.
  • на моем ноутбуке пользователь (также user1), монтирующий каталог, имеет идентификатор пользователя 501 и идентификатор группы 20 (имя группы staff)

Теперь, если я это сделаю,

sshfs -o sshfs_debug syno:/justnfs ./storage

каталог монтируется, тем не менее идентификатор пользователя/идентификатор группы всех файлов не переназначается (как и ожидалось). Чтобы решить эту проблему, я создал два файла с требуемым сопоставлением, а именно users.txtс user1:1026и groups.txtс staff:100. Затем команда

sshfs -o sshfs_debug -o idmap=file -o uidfile=users.txt -o gidfile=groups.txt syno:/justnfs ./storage

также монтирует удаленный каталог, однако, если я затем переключусь на storageи сделаю ls, вывод будет совершенно пустым и dmesgпокажет

osxfuse: fuse_vnop_readdir failed (err=1)

Как ни странно, когда я пытаюсь получить доступ к catфайлу с известным путем (т. е. напрямую), команда выполняется успешно и отображает содержимое файла. Как будто по какой-то причине не разрешено только перечисление каталогов.

Интересно, что если я укажу uid/gid явно, как

sshfs -o sshfs_debug -o uid=501 -o gid=20 syno:/justnfs ./storage

затем lsснова работает.

В чем может быть причина того, что последние две команды ведут себя по-разному и/или что невозможно вывести список содержимого каталога?

Связанный контент