Alguém já tentou monitorar kbfs com incrond?

-1

Embora eu possa executar unison -batch keybasee tudo funcione bem, tentei isso na guia incron :

/run/user/1000/keybase/kbfs/ IN_ALL_EVENTS flock -n /tmp/synclock unison -batch keybase

com o resultado do syslog:

Nov 24 03:53:05 ThinkPad incrond[5820]: access denied on /run/user/1000/keybase/kbfs/ - events will be discarded silently
Nov 24 03:53:05 ThinkPad incrond[5820]: cannot create watch for user me: (13) Permission denied

incrond está sendo executado como root e "não confinado", que eu presumo estar relacionado ao selinux (?)

$ ps -eo euser,ruser,suser,fuser,f,comm,label | grep incron
root     root     root     root     5 incrond         unconfined

Alguma idéia do que pode estar acontecendo?

Diagon
fonte
Várias pessoas estão tentando resolver esse ou um problema paralelo, por exemplo aqui . Portanto, não acho que o voto negativo seja apropriado. Minha própria resposta mostra que não há uma resposta fácil por vir.
Diagon 28/11

Respostas:

1

Acontece que / run / user / 1000 / keybase / kbfs / é um sistema de arquivos FUSE montado sem a opção "allow_root", portanto, é acessível apenas pelo usuário que montou o FS. Adicionar "allow_root" ao /etc/fuse.conf não resolve o problema, pois o código kbfs não passa por essa opção. Para fazer isso, você deve editar o código e recompilar.

Também acontece que, mesmo que os kbfs permitam acesso root - e o incron ou inotify precisem de acesso root -, o FUSE também não tem como relatar eventos do sistema de arquivos. Embora aparentemente seja possível , os desenvolvedores o rotularam como "não corrigido" . Isso significa que executar o keybase como root também não resolverá o problema.

Minha solução é apenas executar um trabalho cron que sincronize os diretórios a cada 60 segundos. Há um arquivo em / keybase que está sempre presente, mesmo que não seja exibido em ls: /keybase/kbfs.error.txt. O conteúdo disso pode ser usado para identificar se o kbfs está montado. Nesse caso, um trabalho em lotes pode ser executado para sincronizar os diretórios usando uníssono.

Diagon
fonte