Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从redis服务器进程中运行shell命令_Redis_Kerberos_Openafs - Fatal编程技术网

从redis服务器进程中运行shell命令

从redis服务器进程中运行shell命令,redis,kerberos,openafs,Redis,Kerberos,Openafs,我在RHEL系统上运行Redis服务器,该系统要求进程每24小时更新一次AFS身份验证令牌 在将数据发布到数据库的客户端代码中,我可以通过每N个POST请求调用一个shell命令(例如echo PASSWORD | kinit&&aklog)来更新AFS令牌 我希望在服务器过程中实现类似的功能,但不确定如何实现。是否有“接收后数据”功能在Redis服务器进程中可以用来运行shell命令的回调类型挂钩?如果其他人能就此问题提供任何建议,我将不胜感激。否-Redis服务器不是为此而设计的,也不是为此

我在RHEL系统上运行Redis服务器,该系统要求进程每24小时更新一次AFS身份验证令牌

在将数据发布到数据库的客户端代码中,我可以通过每N个POST请求调用一个shell命令(例如
echo PASSWORD | kinit&&aklog
)来更新AFS令牌


我希望在服务器过程中实现类似的功能,但不确定如何实现。是否有“接收后数据”功能在Redis服务器进程中可以用来运行shell命令的回调类型挂钩?如果其他人能就此问题提供任何建议,我将不胜感激。

否-Redis服务器不是为此而设计的,也不是为此目的而设计的。如果您真的坚持使用Redis服务器的事件来触发shell逗号nd,您可以通过以下方式进行黑客攻击:

  • 跟踪服务器的日志文件,并使用调用
    redis.log
    Lua函数的脚本查找客户端调用生成的事件
  • 使用来自队列的基本本地Redis客户端(例如,
    Redis cli
    )运行循环,执行工作并重复
  • 编写一些代码作为一种守护程序,使用Redis的PubSub通过通道接收消息来触发shell命令
  • 等等

注意:请注意“Redis服务器不是为此而设计的”-如果您确实发现一些漏洞,允许您执行您正在寻找的操作,请将其报告为严重的安全问题。从这个意义上说,您可能希望阅读

谢谢@ItamarHaber,这很有趣,但我担心我没有清楚地解释我的情况--我需要从服务器进程运行shell命令,而不是从外部进程运行shell命令s、 我相信shell命令必须从运行服务器的进程(或该进程产生的进程)运行,以更新该进程的AFS令牌。好的,因此,除了修改Redis源代码之外,afaik是不可能的。