加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 在CentOS 6.4下运行但不执行命令

发布时间:2020-12-16 01:14:06 所属栏目:安全 来源:网络整理
导读:我已经从EPEL存储库安装了incron(在你问之前;是的,我也尝试下载源代码并在本地编译;结果相同)并且我试图在我的CentOS 6.4(最终)虚拟盒上设置一个我成功原型的过程在我当地的Ubunto 12.04机器上: 预先提供的一些信息: SELinux设置为PERMISSIVE 我已经使用vi
我已经从EPEL存储库安装了incron(在你问之前;是的,我也尝试下载源代码并在本地编译;结果相同)并且我试图在我的CentOS 6.4(最终)虚拟盒上设置一个我成功原型的过程在我当地的Ubunto 12.04机器上:

预先提供的一些信息:

> SELinux设置为PERMISSIVE
>我已经使用visudo向NOPASSWD添加了我的脚本并调用了可执行文件以解决一些权限问题…

如果我使用sudo /path/to/my/script.sh参数从命令行调用我的脚本,它就像一个魅力.

sudo service incrond status验证incrond正在运行. root和myusername被添加到/etc/incron.allow,/etc/incron.deny为空.

我对root的incrotab是:

/path/to/dropfolder/ IN_CLOSE_WRITE sudo /path/to/my/script.sh $@/$#

/ path / to / dropfolder /中的事件导致完全没有发生.没有生成日志,没有消息,文件夹中的文件也没有动作.

所以我研究过:有人建议cron在最小的环境中运行,并且要执行复杂的命令/脚本,你可能必须执行.bashrc和/或在cron命令的开头导出你的PATH.

注意:我找不到支持incron也在最小环境中运行的文档,但是由于我的google-fu(和bing-fu!)未能导致任何与incron直接相关的有用结果,我认为WTH,我会尝试!

编辑:文档表明从系统表或root运行的incron从其主机环境中获取env,因此只有非root用户执行的incron应该需要任何类型的env或PATH fiddling

所以… incrontab for root:

/path/to/dropfolder IN_CLOSE_WRITE . /home/myusername/.bashrc; export PATH=$PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin; sudo /path/to/my/script.sh $@/$#"

没有骰子……试过&&代替 ; =没有骰子.如果你能想到上面的变化,我可能已经尝试过了……

所以,让我们尝试一点redecond -R /usr/sbin / incrond / etc / incron *动作!
嗯,也没有变化.
service incrond stop然后是service incrond start然后service incrond restart … nope,nope和nope.

严厉的措施:yum删除incron和yum install incron,chkconfig incrond on然后好的措施sudo重启!

没有.

我甚至没有得到/ tmp / IN_ALL_EVENTS echo boo>> /home/myusername/boofile.txt中的任何内容,因此我甚至无法使用env>> envfile.txt来检查incron是否在稀疏环境中运行……(见上文)

然而:服务incrond状态yield incrond(pid xxxx)正在运行…

我错过了什么?它必须是大而明显的,我希望有人可以让我觉得自己像一个短暂的白痴!

进一步检查/ var / log / cron产生如下结果:8月14日15:05:30 hostname incrond [1584]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读