मैं सुडो ग्रुप में हूँ सब ठीक है:
$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)
मुझे लगता है कि मेरे समुंदर में उपयुक्त सेटिंग है:
sudo ALL=(ALL:ALL) NOPASSWD: ALL
और यह वहां की अंतिम अपूर्ण रेखा है।
लेकिन जब मैं करने की कोशिश करता git pull
हूं, तो मुझे अपना पासवर्ड फिर से लिखने की इच्छा है:
$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:
कंसोल में लॉग इन होने पर यह कोई समस्या नहीं है, लेकिन यह स्क्रिप्ट में अस्वीकार्य है। तो कैसे मैं sudo ग्रुप में किसी को भी बिना रिटेक पासवर्ड के www-data के रूप में खींचने की अनुमति दे सकता हूं?
जब मैंने अपना नाम सीधे रखा:
molot ALL=(ALL) NOPASSWD: ALL
इससे मेरा काम बनता है। लेकिन, जाहिर है, सुडियन समूह के मियां या अन्य उपयोगकर्ताओं के लिए नहीं। जहाँ तक मुझे मैनुअल समझ में आया है , उपयोगकर्ता नाम और समूह नाम दोनों को पहली फ़ाइल में काम करना चाहिए।
sudoers
फ़ाइल प्रारूप के बारे में मेरी त्वरित समझ सही है) चालान करने वाले उपयोगकर्ता का उपयोगकर्ता नाम है। क्या आपने वाइल्डकार्ड के साथ इसे बदलने की कोशिश की है *
, या जो भी उपयोगकर्ता हुक हुक चलाता है?
sudo -u www-data ./your_script.sh
? स्क्रिप्ट का उद्देश्य क्या है?