我已经为服务器 (A) 设置了一个用户,允许从另一个稍微 (但不是完全) 受信任的服务器 (B) 进行 ssh 访问。服务器 B 将把文件发送到服务器 A 的一个可从 Web 访问的目录中。
该文件夹由 ssh 用于连接的用户拥有,并且该目录的组是 Apache。
这一切都运行正常,但我想知道防止包含来自服务器 B 的文件的目录运行任何可执行文件或 PHP/CGI 脚本的最佳方法是什么。
如果有帮助的话,我可以制定一个文件类型白名单。这些文件大部分是图像,但也包括其他文件,如 mp3、PDF 和其他日常消费文件类型。
答案1
您可以使用 sudoers 文件来根据需要进行阻止。
用户 ALL=(ALL:ALL) /home/user/script.sh
因此只有用户可以运行 /home/user/script.sh。还需要确保没有其他规则允许用户或组运行任何内容。它将取代上述规则。