2011-12-09 29 views
17

मैं रिमोट सर्वर पर कमांड लॉन्च करने के लिए कपड़े का उपयोग कर रहा हूं।
मैं इस आदेश को एक अलग उपयोगकर्ता के रूप में लॉन्च करना चाहता हूं (न तो एक जुड़ा हुआ और न ही रूट)।फैब्रिक - सुडो-यू

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

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

कोशिश कर रहा oviously इस वजह -u एक कमांड और न sudo

के एक विकल्प के रूप में माना जाएगा काम नहीं करेगा बाहर:/bin/bash: - u: आदेश नहीं मिला

(www-data वह उपयोगकर्ता है जो कमांड को चलाया जाना चाहिए)
फैब्रिक से अपना आदेश चलाने के लिए मैं www-data का उपयोग कैसे कर सकता हूं?

+0

मुझे लगता है कि मुझे लगता है कि किसी एप्लिकेशन को सुडो विशेषाधिकार की आवश्यकता नहीं है। मुझे लगता है कि हमें हमेशा एसीएल जैसी चीजों से निपटने में सक्षम होना चाहिए। –

उत्तर

42

documentation से आंकना:

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) में डॉक। खासकर जब से यह लगभग मेरे उदाहरण मामले के साथ दस्तावेज है :(क्षमा करें –

संबंधित मुद्दे