首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >incrond脚本触发器上的错误

incrond脚本触发器上的错误
EN

Unix & Linux用户
提问于 2018-08-14 15:39:27
回答 1查看 1.9K关注 0票数 0

我已经安装在我的centos 7机器上了。

对于我的初步测试,我在表中有一个简单的条目。当一个文件被移动到目标文件夹时,它将运行一个脚本。我首先做的是

代码语言:javascript
复制
/dir IN_MOVED_TO logger success

但是这不起作用,当我将一个文件放在目标文件夹中时,我会在/var/log/messages中看到这样一条消息:

代码语言:javascript
复制
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.

我以为incrond是在没有sudo命令的情况下启动的,所以我用sudo命令重新启动了它,但是仍然得到了相同的结果。

我运行了service incrond状态-l

代码语言:javascript
复制
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

我不太确定到底发生了什么。我觉得incrond正在尝试执行命令,但没有必要的特权。

EN

回答 1

Unix & Linux用户

发布于 2018-08-14 16:37:27

问题不是ith服务或用户运行它,而是更改此目录的权限。

代码语言:javascript
复制
chmod 644 /run/user/1018/dconf/user

或者对于父directory.even 777,如果您是从其他用户运行的,则可以这样做。

如果您正在使用的进程(在本例中是gnome-session- GDBus )具有显式gui,那么检查dconf/user下的哪个进程与您的dir命令( incron)相冲突。并相应地禁用权限或选择不承认该进程。

代码语言:javascript
复制
$>pidof dconf*

$>disown --pid=

您不需要以根用户身份运行服务,这很可能是针对gnome会话GUI运行流程时的冲突。编辑-允许用户进入/etc/ incron。允许能够运行incron

简单的bash,如incron安装程序

代码语言:javascript
复制
if[ IN_CREATE_DIR /run/user/1018/dconf/user ]
then
   set /dir moved
   mailx -r "server" -s "dir moved" recipient@abc.com
fi
/dir IN_MOVED_FROM /log success

运行这个应该就足够了,尽管我感觉不到

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/462546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档