面料 - sudo -u

Pie*_*NAY 18 python django sudo fabric

我正在使用fabric在远程服务器上启动命令.
我想以不同的用户(既不连接也不连接root)启动此命令.

def colstat():
  run('python manage.py collectstatic --noinput')
Run Code Online (Sandbox Code Playgroud)

def colstat():
  sudo('-u www-data python manage.py collectstatic --noinput')
Run Code Online (Sandbox Code Playgroud)

显然这不会起作用,因为-u将被视为命令而不是sudo的选项

out:/ bin/bash:-u:找不到命令

(www-data是应该运行命令的用户)
如何使用www-data从Fabric运行我的命令?

mac*_*mac 44

文件来看:

sudo('python manage.py collectstatic --noinput', user='www-data')
Run Code Online (Sandbox Code Playgroud)

HTH!