2011-12-09 8 views
17

ファブリックを使用してリモートサーバでコマンドを起動しています。
私はこのコマンドを別のユーザー(接続されているものもrootでもない)として起動したいと考えています。Fabric - sudo -u

-uコマンドとないうちにsudo

の選択肢として考慮されるためOviously、これは動作しません

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

をしようと

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

:/ binに/ bashの: - u:コマンドが見つからない

www-data www-dataを使用してFabricからmyコマンドを実行するにはどうすればよいですか? documentationから判断

+0

私はアプリケーションがsudo特権を必要としてはならないと考えていることに注意してください。 ACLのようなものにはいつも対処できるはずです。 –

答えて

42

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

HTH!

+1

ありがとう、私は[この部分](http://docs.fabfile.org/en/1.3.3/api/core/operations.html?highlight=sudo#fabric.operations.sudo)がdoc。特にそれはほとんど私の例の場合と書かれているので:(申し訳ありません –