【问题标题】:Executing scripts on remote server as user以用户身份在远程服务器上执行脚本
【发布时间】:2021-06-06 07:59:15
【问题描述】:

我有一个在 sudo 帐户下运行的 django 服务。作业提交、数据库操作等所有操作均由 sudo 帐户执行。但是,为了以后的可追溯性目的,应该以用户身份执行某些脚本。传输用户密码的最佳方法是什么,以便可以将其作为执行 su myid 的脚本的输入,并且脚本中的后续命令在 userid 下运行。

例如,我的服务器以 sys_admin 身份运行。密码 mypassword 应该由用户从网页中给出,并作为参数传递给脚本。 以下是我的示例脚本:

su - myid <<! >/dev/null 2>&1
mypassword
whoami > /dev/tty
!

上面的脚本将打印 myid 而不是 sys_admin。执行此操作的最佳和最安全的方法是什么,这样密码也不会暴露给后端。

可以在客户端或服务器端使用一些密码来执行某种形式的加密和解密吗?

【问题讨论】:

    标签: django shell authentication server su


    【解决方案1】:

    听起来你是直接通过 sudo shell 传递用户输入,如果你这样做是非常不安全的,因为这可能导致操作系统命令注入

    很抱歉,我无法直接为您提供帮助,但如果我的理解正确,那么继续目前的做法并不是一个好主意

    也许有人可以提供一种更安全的处理方式?我对 django 没有经验

    【讨论】:

    • 是的,需要一些安全的方式来实现这个功能。它不必与 django 做任何事情。
    猜你喜欢
    • 2018-07-08
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-16
    • 2016-07-24
    相关资源
    最近更新 更多