निर्देशिका तक नहीं पहुंच सकता मैं एक समूह का सदस्य हूं


10

मेरे वेब सर्वर पर मेरे पास एक निर्देशिका 'www' है जिसमें अनुमति drwxrwxr--और उपयोगकर्ता है: समूह root:www-dataताकि Apache इसे एक्सेस कर सके।

अब मैंने अपना खाता ग्रुप www-data के साथ जोड़ लिया है

sudo usermod -g www-data myuser

और अगर मैं ऐसा groupsतो www-dataउन के बीच में है, लेकिन जब मैं इस पर बस सीडी करने की कोशिश मैं 'अनुमति अस्वीकृत' मिलता है।

अगर मैं उपयोगकर्ता को 'myuser' में बदलता हूं या समूह को किसी अन्य समूह में सेट करता हूं, जिसका मैं सदस्य हूं, तो मैं अंदर आ सकता हूं।

क्या मैं कुछ भूल रहा हूँ?

जवाबों:


14

आपकी प्रक्रिया में इसकी समूह सूची लॉगिन समय पर सेट है, इसलिए आपको प्रभावी होने के लिए फिर से लॉग इन करना होगा।

मैं यह भी सुझाव दूंगा कि आप www-dataप्राथमिक एक के बजाय एक पूरक समूह के रूप में जोड़ें (जो केवल उस समूह के लिए सेट है जो आप के सदस्य हैं। आपको निम्न आदेशों के साथ ऐसा करने में सक्षम होना चाहिए:

# Reset to your original primary group
sudo usermod -g myuser myuser
# Add an extra supplementary group
sudo usermod --append -G www-data group

यदि आप चाहते हैं कि आपके द्वारा बनाई गई फ़ाइलें www-dataसमूह के अन्य सदस्यों द्वारा पठनीय हों , तो अपने umask को तदनुसार समायोजित करें:

umask 002

चूंकि आपकी प्राथमिक समूह सदस्यता एक व्यक्तिगत समूह है, इसलिए इससे आपके द्वारा बनाई गई फ़ाइलों की सुरक्षा प्रभावित नहीं होनी चाहिए।

यह setgidउन निर्देशिकाओं पर बिट सेट करने के लायक है जिन्हें आप फ़ाइलें बना रहे हैं: इससे मूल निर्देशिका के समूह के स्वामित्व के लिए फ़ाइलें प्राप्त होंगी:

chmod g+s www/

1
लॉग इन वापस चाल किया, इतना बेवकूफ। इसके अलावा बहुत उपयोगी serverfault.com/questions/6895/…
dazz

उस Dazz का उल्लेख करने के लिए धन्यवाद। मुझे कभी समझ में नहीं आया कि यह मेरे लिए काम क्यों नहीं कर रहा है। अब मैं शांति से आराम कर सकता हूं।
f4der

0

मेरे लिए यह एक अलग बात थी जिसके परिणामस्वरूप यह त्रुटि हुई

दो अलग-अलग यूआईडी वाले एक ही उपयोगकर्ता नाम

मेरे पास उपयोगकर्ता "अपाचे" स्थानीय रूप से यूआईडी = 123 के साथ और एनआईएस निर्देशिका में एक ही नाम ("अपाचे") के साथ कॉन्फ़िगर किए गए हैं, लेकिन अलग-अलग यूआईडी = 456। स्टार्ट ऑर्डर और सेवा निर्भरता के आधार पर, स्थानीय उपयोगकर्ता का उपयोग एनआईएस उपयोगकर्ता के उपयोग करने से पहले किया जा सकता है। इसका मतलब यह भी है कि, जब आप उपयोगकर्ता नाम प्रदर्शित करते हैं, तो यह भ्रामक होगा, दोनों "अपाचे" के रूप में दिखाई देंगे। केवल जब आप संख्यात्मक यूआईडी को देखते हैं (उदाहरण के लिए ऐसा करने से ls -lnआपको अंतर दिखाई देगा। उदाहरण: [root@mymachine]# ls -l drwxr-x--- 4 apache ggg1 88 May 31 17:12 file1 drwxr-x--- 4 apache ppp2 88 May 31 17:12 file2 फ़ाइल 2 के लिए यूआईडी अलग है देखें (123 के बजाय 456): [root@mymachine]# ls -ln drwxr-x--- 4 123 48 88 May 31 17:12 file1 drwxr-x--- 4 456 48 88 May 31 17:12 file2

Apache config में परिभाषित विभिन्न समूह

एक अन्य समस्या जो मुझे उपयोगकर्ता बेमेल के साथ हुई थी और जिसके परिणामस्वरूप अनुमति त्रुटि थी, जब मैं समूह "httpd" का उपयोग करके फ़ाइलों तक पहुंच को प्रतिबंधित कर रहा था। यह उपयोगकर्ता "अपाचे" का प्राथमिक समूह था (जिसका उपयोग करके प्रदर्शित किया गया था idया getent) अपाचे जड़ के रूप में शुरू होता है, फिर कॉन्फ़िगर उपयोगकर्ता पर स्विच करता है और अनुमति छोड़ देता है। उपयोगकर्ता जिस पर स्विच करता है, /etc/httpd/conf/httpd.confउसे Userपैरामीटर द्वारा परिभाषित किया जाता है। हालांकि यह समस्या है - समूह (GID) जो कि प्रक्रिया चल रही है जैसा कि उस उपयोगकर्ता का प्राथमिक समूह नहीं है। समूह Groupपैरामीटर द्वारा एक ही कॉन्फ़िगरेशन फ़ाइल में परिभाषित किया गया है ।

तो मेरे मामले में यह ( /etc/httpd/conf/httpd.conf ) था: User apache Group apache

और निर्देशिका को इस तरह पहुंच प्रदान की गई: drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir

क्योंकि httpd (GID = 444) उस उपयोगकर्ता का प्राथमिक समूह था: [root@somemachine]# id apache uid=48(apache) gid=444(httpd) groups=444(httpd)

यह डिबगिंग में कुछ समय बिताया जब तक मुझे एहसास हुआ कि Groupविन्यास फाइल में "अपाचे" नहीं "httpd" था।

/ Var / log / httpd / error_log से त्रुटि : [Fri May 31 17:13:40.070343 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of Require all granted: granted [Fri May 31 17:13:40.070367 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of <RequireAny>: granted [Fri May 31 17:13:40.070396 2019] [core:error] [pid 2527] (13)Permission denied: [client 11.22.32.21:53824] AH00132: file permissions deny server access: /var/www/html/somedir/otherdir/css/file1.txt

आशा है कि ये आपकी मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.