ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

权限 – 脚本上的fail2ban权限被拒绝

2019-08-15 04:55:32  阅读:389  来源: 互联网

标签:selinux python permissions daemon fail2ban


我刚刚从RHEL 5升级到6.5并重新设置了fail2ban.我似乎无法让我的自定义操作现在工作,据说是因为权限问题.我不知道我做错了什么,如何让fail2ban成功运行脚本.

我有一个fail2ban操作设置来运行通用shell脚本.我喜欢这种方式.

actionstart = <script> <jail> start

其中< script>在jail.local文件中指定:

action   = run-script[jail=drupal-reg-lim,script=/path/to/script.sh]

但是当我尝试运行脚本时,我得到一个126退出代码,根据tldp.org,这意味着存在“权限问题或命令不是可执行文件”.

无论script.sh的内容如何,​​都会发生这种情况 – 无论是完全空的还是只有一个shebang(#!/ bin / sh).试图运行sudo /path/to/script.sh有效.

我尝试更改actionstart以便记录,并将脚本放在/etc/fail2ban/action.d/script.sh中:

actionstart = <script> <jail> start || logger -dit fail2ban-run-script <script> <jail> start failed: exitcode = $?

实际上将以下内容输出到/ var / log / messages中:

Apr 23 05:49:25 xx1 fail2ban-run-script[8236]: /etc/fail2ban/action.d/script.sh drupal-reg-lim start failed: exitcode = 126

也尝试运行sh工程.仅运行脚本失败.我也试过chmod 777 script.sh:

-rwxrwxrwx. 1 root root      10 Apr 23 05:12 script.sh

另一个想法是,这可能与SELinux安全上下文有关(日志记录id输出给了我uid = 0(root)gid = 0(root)groups = 0(root)context = unconfined_u:system_r:fail2ban_t:s0),但是我没有成功测试这个(sudo -t fail2ban_t -r system_r / bin / sh失败,Permission被拒绝,即使fail2ban可以运行sh;我可能在我的sudo中做错了什么).

可能有用的东西是fail2ban使用Python的os.system()来执行命令.但是我以这种方式重建它的尝试也失败了:

>>> import os
>>> print os.system('/etc/fail2ban/action.d/script.sh || echo "No"')
0

所有这些都让我一无所有.我很乐意得到任何帮助.

(旁注:实际上,fail2ban由于某种原因没有获得126退出代码,只是用代码0x7e00吐出错误,这意味着进程已停止但退出代码为零.花了一些时间来计算出来,以为我会分享.)

解决方法:

一如既往,除了我试图运行的脚本中的错误之外,它与任何事情无关!

具体来说,我调用的脚本试图运行位于同一目录中的另一个脚本.要获取公共目录的名称,而不是使用BASE_DIR = $(dirname $(readlink -f“$0”)),我意外地写了BASE_DIR = $(readlink -f“$0”),不用说,“${ BASE_DIR} /another_script.sh arg1 arg2 …“失败了(它试图运行不存在的无意义路径/path/to/script.sh/another_script.sh),状态码为126.

标签:selinux,python,permissions,daemon,fail2ban
来源: https://codeday.me/bug/20190815/1660992.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有