Erros no gatilho de scripts incrond

0

Eu tenho o incron instalado na minha máquina centos 7.

para o meu teste inicial, tenho uma entrada simples na tabela. Quando um arquivo é movido para a pasta de destino, ele executaria um script. O que eu fiz primeiro foi executar

/dir IN_MOVED_TO logger success

Isso não funciona, porém, quando coloco um arquivo na pasta de destino, vejo uma mensagem no / var / logs / messages que diz

Aug 14 23:29:27 Clone-Dev-AnalyticsAutomation gnome-session: gnome-session-binary[2329]: WARNING: Unable to inhibit system: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied
Aug 14 23:29:32 Clone-Dev-AnalyticsAutomation journal: unable to create file '/run/user/1018/dconf/user': Permission denied.  dconf will not work properly.

Eu pensei que o incrond foi iniciado sem o comando sudo, então eu reiniciei com o comando sudo, mas ainda assim obtive os mesmos resultados.

Eu corri serviço incrond status -l

Aug 14 23:13:48 Clone-Dev incrond[6875]: loading user tables
Aug 14 23:13:48 Clone-Dev incrond[6875]: loading table for user simon
Aug 14 23:13:49 Clone-Dev incrond[6875]: loading table for user analytics
Aug 14 23:13:49 Clone-Dev incrond[6875]: loading table for user root
Aug 14 23:13:49 Clone-Dev incrond[6875]: access denied on ## - events will be discarded silently
Aug 14 23:13:49 Clone-Dev incrond[6875]: cannot create watch for user root: (22) Invalid argument
Aug 14 23:13:49 Clone-Dev incrond[6875]: access denied on ## - events will be discarded silently
Aug 14 23:13:49 Clone-Dev incrond[6875]: cannot create watch for user root: (22) Invalid argument
Aug 14 23:13:49 Clone-Dev incrond[6875]: ready to process filesystem events

Eu não tenho certeza do que está acontecendo. Eu sinto que incrond está tentando executar comandos, mas não tem os privilégios necessários.

    
por niccolo m. 14.08.2018 / 17:39

1 resposta

1

O problema não é com o serviço ou o usuário executando, Alterar permissão para este diretório

chmod 644 /run/user/1018/dconf/user

ou para o diretório pai. 777 faria se você estiver executando de outro usuário.

Se um processo que você está usando (gnome-session - GDBus neste caso é meu palpite) está tendo gui explícito, então verifique qual processo em dconf / user está conflitando com o seu comando dir (em incron). e desabilitar a permissão de acordo ou optar por ignorar esse processo

$>pidof dconf*

$>disown --pid=<PID of conflicting process>

Você não precisa executar o serviço como root, é mais provável que haja um conflito na execução do processo na GUI da sessão do gnome. Editar - Permite que o usuário em /etc/incron.allow consiga executar o incron

Simple bash como configuração de incron seria

if[ IN_CREATE_DIR /run/user/1018/dconf/user ]
then
   set /dir moved
   mailx -r "server" -s "dir moved" [email protected]
fi
/dir IN_MOVED_FROM /log success

isso deve ser suficiente, embora eu não sinta

    
por 14.08.2018 / 18:37

Tags