gpt4 book ai didi

security - 如何通过 rsync 安全地接收来自最终用户的文件

转载 作者:行者123 更新时间:2023-12-02 19:18:09 26 4
gpt4 key购买 nike

我想允许我的网络应用程序的用户通过 rsync 上传目录的内容。这些只是在线注册的用户,所以我不想为他们创建永久的 unix 帐户,并且我想确保他们上传的任何文件仅存储在我的服务器上特定于他们帐户的目录下。理想情况下,流程应该是这样的:

  1. 用户通过经过身份验证的 Web UI 说“我想使用 rsync 更新我的文件”
  2. 服务器说“好的,请运行:rsync/path/to/yourfiles uploaduser123abc@myserver:/”
  3. 客户端运行该程序,将已更改的所有文件更新到服务器上
    • 上传位置已更改根目录或其他原因 - 我们希望确保客户端仅写入服务器上指定目录下的文件
    • 理想情况下,客户端不需要输入密码 - 用户名中的 123abc 足以作为 secret token 来保证这一 rsync 事务的安全,并且在事务之后该 token 被销毁 - 在新步骤之前不再进行 rsync出现 1 次。
  4. 服务器拥有一组更新的用户文件。

如果您使用过 Google AppEngine,所需的行为类似于其“更新”命令 - 它仅将更改的文件发送到 AppEngine 进行托管。

实现这样的事情的最佳方法是什么?是否会创建一次性用户,然后在这些帐户下的 chroot jail 中运行 rsync 守护进程?是否有任何库(最好是 Python)或脚本可以执行类似的操作?

最佳答案

您可以正常运行 ssh sailrooted 和 rsync,只需使用 PAM 针对“备用”authdb 进行身份验证。

关于security - 如何通过 rsync 安全地接收来自最终用户的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4446750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com