एक बार किसी अन्य उपयोगकर्ता के रूप में एक कमांड चलाएँ:
sudo -u www-data php script.php
यदि आप हैं, तो यह काम करना चाहिए root
।
हमेशा की तरह php चलाने के लिए www-data
, कई व्यवसाय हैं। आप एक साधारण आवरण आवरण बना सकते हैं। यदि /usr/bin/php
केवल एक सॉफ्ट-लिंक /usr/bin/php5
या इसके समान है, जो इसे सरल बनाता है। बस सॉफ्ट-लिंक (फ़ाइल नहीं php5
) को इस तरह से स्क्रिप्ट के साथ बदलें :
#!/bin/sh
sudo -u www-data php5 $*
return $?
हालांकि इसका परीक्षण नहीं किया गया है। यह भी ध्यान रखें कि यह हमेशा php5
उपयोगकर्ता के रूप में चलाने की कोशिश करेगा www-data
, भले ही उपयोगकर्ता ऐसा न हो root
और ऐसा करने की अनुमति न हो। और यह भी नहीं हो सकता है कि आप वास्तव में क्या चाहते हैं। कुछ इंस्टॉल की गई सेवाएं php निष्पादित करने की कोशिश करते समय समस्याओं में चल सकती हैं।
(संभवतः बेहतर) समाधान केवल इस बात पर लागू होता है कि रूट को सॉफ्ट-लिंक को /usr/bin/php
अकेला छोड़ना और स्क्रिप्ट को /root/bin
इसके स्थान पर रखना हो सकता है । फिर उस फ़ोल्डर को PATH के माध्यम से .bashrc
, .profile
या इसी तरह से जोड़ें। यदि आपके पास है /etc/skel/.profile
, तो यह इंगित कर सकता है कि यह कैसे किया जाता है:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
एक बार जब यह अपने में है .bashrc
, .profile
या इसी तरह, हर नई खोल आप खोलना आप सीधे (+ x) में किसी भी निष्पादनयोग्य पर अमल करने की अनुमति देगा $HOME/bin
( /root/bin
जड़ के लिए)।
संकेत: आप रैपर स्क्रिप्ट को कुछ नाम देना चाहते हैं, जैसे phpwww
कि आप स्पष्ट रूप से निर्दिष्ट करना चाहते हैं php script.php
या phpwww script.php
यह तय करना चाहते हैं कि आप नियमित या sudo'n php चाहते हैं।
एक अन्य समाधान एक साधारण उपनाम है। इसे अपने .bashrc
, .profile
या समान में रखें :
alias phpwww='sudo -u www-data php'