2016-03-07 9 views
8

मैं php5-fpm चला रहा हूं nginx पोर्ट (सॉकेट नहीं) के माध्यम से जुड़ा हुआ है। यह apt-get के माध्यम से स्थापित सभी संकुल के साथ डेबियन जेसी स्टॉक है।डेबियन पर php5-fpm के लिए umask कैसे सेट करें?

मैं www-data उपयोगकर्ता के लिए डिफ़ॉल्ट umask को बदलने की कोशिश कर रहा हूं कि php5-fpm समूह लिखने की अनुमति देने के लिए 0022 से 0002 से उपयोग कर रहा है। मैं कोशिश की है:

  • संपादन /etc/init.d/php5-fpm init स्क्रिप्ट और start-stop-daemon कॉल करने के लिए --umask 0002 जोड़ने, लेकिन यह ध्यान नहीं दिया गया था,
  • umask 0002 से /var/www/.profile/var/wwwwww-data उपयोगकर्ता के लिए एक होम निर्देशिका है, लेकिन इससे मदद नहीं मिली (मुझे आश्चर्य नहीं है)।
  • मैं upstart का उपयोग नहीं कर रहा हूं इसलिए this solution मेरे लिए नहीं है।

इसके अलावा, मैंने जो भी कोशिश की है, कोई भी मामला नहीं है, sudo -u www-data bash -c umask कमांड 0022 देता है।

उत्तर

3

मैं संपादन यह unit.service फ़ाइल है सुझाव के रूप में here और here द्वारा php5-fpm सेवा के लिए umask सेट करने में सक्षम था।

  1. मैन्युअल /etc/systemd/system/multi-user.target.wants/php5-fpm.service फ़ाइल को संपादित और [Service] खंड के अंदर UMask=0002 पंक्ति जोड़ें: डेबियन 8 के लिए पूर्ण और काम कर समाधान यह है।
  2. भागो आदेश systemctl daemon-reload
  3. भागो आदेश systemctl restart php5-fpm.service

अब सेवा फ़ाइल इस तरह दिखता है:

[Unit] 
Description = The PHP FastCGI Process Manager 
After = network.target 

[Service] 
Type = notify 
PIDFile = /var/run/php5-fpm.pid 
ExecStartPre = /usr/lib/php5/php5-fpm-checkconf 
ExecStart = /usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf 
ExecReload = /bin/kill -USR2 $MAINPID 
; Added to set umask for files created by PHP 
UMask = 0002 

[Install] 
WantedBy = multi-user.target 

ध्यान दें कि:

  1. आप systemctl edit php5-fpm.service आदेश edit के रूप में उपयोग नहीं कर सकते विकल्पमें पेश किया गया थासंस्करण 218 लेकिन संस्करण 215 के साथ डेबियन 8 जहाजों।
  2. *.conf फ़ाइल को answer के लिए टिप्पणियों में सुझाए गए अनुसार मेरे लिए काम नहीं किया गया है, लेकिन शायद मैंने कुछ गड़बड़ कर दी है (टिप्पणियों का स्वागत है क्योंकि संपादन इकाई फ़ाइल कुछ ऐसा नहीं है मुझे सहज महसूस होता है)।
+0

बहुत बहुत धन्यवाद! एक जादू की तरह काम किया! – balu

+0

'.conf' फ़ाइल जोड़ना किसी त्रुटि के कारण काम नहीं करता है। 'Php-fpm.service' के बजाय आपको' php5-fpm.service' लिखना होगा। मुझे लगता है कि इस तरह की '.conf' फ़ाइल को जोड़ना बेहतर है http://serverfault.com/questions/582371/how-to-set-umask-for-php-fpm-in-fedora/582380#582380 –

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