Ткань - судо-у - PullRequest
       65

Ткань - судо-у

17 голосов
/ 09 декабря 2011

Я использую фабрику для запуска команды на удаленном сервере.
Я хотел бы запустить эту команду как другой пользователь (ни один, ни подключенный, ни root).

def colstat():
  run('python manage.py collectstatic --noinput')

Попытка

def colstat():
  sudo('-u www-data python manage.py collectstatic --noinput')

Очевидно, что это не сработает, поскольку -u будет рассматриваться как команда, а не опция sudo

out: / bin / bash: -u: команда не найдена

( www-data - это пользователь, который должен выполнить команду)
Как использовать www-data чтобы запустить мою команду из Fabric?

1 Ответ

43 голосов
/ 09 декабря 2011

Судя по документации :

sudo('python manage.py collectstatic --noinput', user='www-data')

HTH!

...