Оказывается, что / run / user / 1000 / keybase / kbfs / - это файловая система FUSE, которая монтируется без опции «allow_root», поэтому она доступна только через пользователя, который смонтировал FS. Добавление «allow_root» в /etc/fuse.conf не решает проблему, так как код kbfs не проходит через эту опцию. Для этого вам нужно отредактировать код и перекомпилировать.
Также оказывается, что даже если kbfs разрешил доступ с правами root - а incron или inotify действительно нуждаются в доступе с правами root - FUSE также не имеет возможности сообщать о событиях файловой системы. Хотя это, по-видимому, было бы возможно, разработчики пометили его как «не исправить» . Это означает, что запуск базы ключей в качестве пользователя root также не решит проблему.
Мое решение - просто запустить задание cron, которое синхронизирует каталоги каждые 60 секунд. В / keybase есть файл, который всегда присутствует, даже если он не отображается в ls
: /keybase/kbfs.error.txt. Содержимое этого может использоваться, чтобы определить, смонтирован ли kbfs. Если это так, можно запустить пакетное задание для синхронизации каталогов, используя unison.