允许运行 python 脚本但不允许读取其内容

允许运行 python 脚本但不允许读取其内容

我想向客户演示我的 python 脚本如何在我的服务器上运行,我将授予他访问权限。另外,我不希望他能够看到python脚本的代码,只能运行它。是否可以通过 Linux 来实现?也许通过创建一个额外的用户?

答案1

因此,一般来说,此类问题的答案是“不,不容易”,但对于您的具体情况,我认为您实际上可能能够找到解决方案。

假设您的客户端将以 user 身份登录到您的服务器alice。创建另一个bob拥有该脚本的用户,并使其只能由用户读取/执行bob

# chown bob /path/to/myscript
# chmod 700 /path/to/myscript

现在,创建一项sudo配置,允许alice以 user 身份运行该脚本bob。例如,/etc/sudoers.d/alice使用以下配置创建:

alice ALL=(bob) NOPASSWD:/path/to/myscript

现在:

  • 您的客户端以alice. alice无法读取或执行给定的脚本。
  • alice可以通过运行来运行脚本sudo -u bob /path/to/myscript。这将以用户身份运行脚本bob

此解决方案具有一定的局限性:例如,由于脚本将以与调用者不同的用户身份运行,因此在调用者的主目录中创建文件时可能会遇到问题。

相关内容