Www-data उपयोगकर्ता क्या है?


35

मैं Ubuntu 16.04 पर UWSGI और Nginx के साथ Django अनुप्रयोगों की सेवा कैसे कर रहा हूं । लेख में "यूडब्ल्यूएसजीआई के लिए एक सिस्टमड यूनिट फ़ाइल बनाएँ" के अंत में वे www-dataउपयोगकर्ता पर चर्चा करते हैं । यह क्या है और यह क्यों महत्वपूर्ण है?

जवाबों:


36

सुरक्षा के लिए।

फ़ाइलें विश्व लेखन योग्य नहीं हैं। वे लिखने के लिए फाइलों के मालिक तक ही सीमित हैं।

वेब सर्वर को एक विशिष्ट उपयोगकर्ता के तहत चलाया जाना है। वह उपयोगकर्ता मौजूद होना चाहिए।

यदि इसे रूट के तहत चलाया गया था, तो सभी फ़ाइलों को रूट द्वारा एक्सेस करना होगा और फ़ाइलों को एक्सेस करने के लिए उपयोगकर्ता को रूट करना होगा। रूट के मालिक होने के साथ, एक समझौता किया हुआ वेब सर्वर आपके पूरे सिस्टम तक पहुंच प्राप्त करेगा। एक विशिष्ट आईडी निर्दिष्ट करके एक समझौता किया हुआ वेब सर्वर केवल उसकी फाइलों तक पूरी पहुंच रखेगा और संपूर्ण सर्वर नहीं।

यदि आप इसे एक अलग उपयोगकर्ता आईडी के तहत चलाने का निर्णय लेते हैं, तो उस उपयोगकर्ता को उचित विशेषाधिकारों के लिए फाइलों का प्रभावी स्वामी होने की आवश्यकता होगी। आपके व्यक्तिगत खाते में सिस्टम-वाइड फ़ाइलों का व्यक्तिगत स्वामित्व होना भ्रामक हो सकता है।

एक विशिष्ट उपयोगकर्ता बनाने से फ़ाइलों को पहचानना आसान हो जाता है और यह पहचानने में संगत होती है कि कौन सी आईडी chownनई फ़ाइलों और फ़ोल्डरों को साइट पर जोड़े।

प्रयोक्ता आईडी या नाम के मालिक की बात नहीं है। जो भी चुना या तय किया गया है उसे वेब सर्वर कॉन्फ़िगरेशन फ़ाइलों में कॉन्फ़िगर करना होगा।

डिफ़ॉल्ट रूप से स्वामी का www-dataकॉन्फ़िगरेशन Apache2 के Ubuntu कॉन्फ़िगरेशन में है। चूंकि यह डिफ़ॉल्ट कॉन्फ़िगरेशन है, आप आसानी से अपनी वेब फ़ाइलों के लिए आवश्यक स्वामित्व जानते हैं। यदि आप इसे बदलते हैं, तो आपको मिलान करने के लिए अपनी साइट की फ़ाइलों को बदलना होगा।

मैं Nginx नहीं चलाता , लेकिन चूंकि यह Ubuntu रिपॉजिटरी में है, मुझे यकीन है कि इसे www-dataकॉन्फ़िगरेशन के साथ डिफ़ॉल्ट रूप से परीक्षण किया गया है ।


2
यह महान है, साथ ही वैश्विक तस्वीर को समझाने की कोशिश करने के लिए धन्यवाद।
user61629

1
btw, एक 'विशिष्ट आईडी' क्या है?
user61629

1
यह है www-data। यही कारण है कि आपके प्रश्न के अनुसार, उन्होंने आपको उपयोगकर्ताआईडी और समूह बनाने के लिए कहा था यदि यह मौजूद नहीं है। Apache2 स्थापना स्वचालित रूप से उपयोगकर्ता बनाता है। मैं Nqinx के बारे में निश्चित नहीं हूं । आप अगर यह के साथ मौजूद हैं देखने के लिए जाँच कर सकते हैं: iid -u www-data&&id -g www-data। यदि यह मौजूद है तो यह आपको उपयोगकर्ता और समूह की आईडी संख्या दिखाएगा। उबंटू पर डिफ़ॉल्ट रूप से उपयोगकर्ता और समूह संख्याएँ हैं 33
एलडी जेम्स

www-dataमालिक के रूप में डाल देना भी एक सुरक्षा जोखिम हो सकता है जैसा कि base-passwdप्रलेखन में उल्लिखित है (@ muru का जवाब देखें), क्योंकि मालिक आमतौर पर सभी वेब-सेवारत सामग्री तक पहुंच / लिखते हैं। आप www-dataस्वामी के लिए लेखन पहुँच को निकाल सकते हैं, या किसी भिन्न स्वामी का उपयोग कर सकते हैं। www-dataनिश्चित रूप से सेवा करने के लिए सभी डेटा तक रीड-एक्सेस की आवश्यकता होती है, लेकिन यदि आप केवल प्रत्येक फ़ाइल और निर्देशिका के लिए आवश्यक अनुमतियाँ देते हैं, और अधिक नहीं, तो आप अधिक सुरक्षित होंगे।
युवल

18

www-dataवह उपयोगकर्ता है जो सामान्य ऑपरेशन के लिए डिफ़ॉल्ट रूप से Ubuntu (Apache, nginx, उदाहरण के लिए) पर वेब सर्वर का उपयोग करता है। वेब सर्वर प्रक्रिया किसी भी फाइल www-dataको एक्सेस कर सकती है जो एक्सेस कर सकती है। इसका कोई अन्य महत्व नहीं है।

से base-passwdप्रलेखन ( /usr/share/doc/base-passwd/users-and-groups.txt.gz):

कुछ वेब सर्वर www-data के रूप में चलते हैं। वेब सामग्री इस उपयोगकर्ता के स्वामित्व में नहीं होनी चाहिए, या एक समझौता किया हुआ वेब सर्वर एक वेब साइट को फिर से लिखने में सक्षम होगा। वेब सर्वर द्वारा लिखित डेटा www-data के स्वामित्व में होगा।


3
); पर तुम क्यों webroot फ़ाइलों पर www-डेटा का उपयोग नहीं देना चाहिए चर्चा सिवाय
kitingChris

1
मेरे लिए बस इसे और अधिक ठोस बनाने के लिए, क्या मैं पूछ सकता हूं कि किसी पृष्ठ की सेवा करते समय एक वेब सर्वर को कौन सी सेवाओं का उपयोग करने की आवश्यकता है?
user61629

2
@ user61629 सेवाएं? वेब सर्वर स्वयं एक सेवा है, सेवा की सामान्य परिभाषा द्वारा।
muru

1
@kitingChris हाँ, मैं अभी खुदाई की गई थी base-passwdके लिए कि डॉक्स
muru

1
www-dataउपयोगकर्ता (और यह भी समूह) है कि सेवा httpd (Apache) आपके सिस्टम पर कार्य कर रही है।
kittChris
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.