लिनक्स समूह अनुमतियाँ सही ढंग से लागू नहीं की जा रही हैं।


18

मैं Ubuntu 10.04 सर्वर चला रहा हूं और उपयोगकर्ताओं / समूहों के साथ कुछ बहुत ही सहज ज्ञान युक्त अनुभव कर रहा हूं। उदाहरण के लिए:

sudo touch test_file                    # create empty file

sudo groupadd test                      # create 'test' group

sudo chown root:test test_file          # change group of file to 'test'

sudo chmod g+rwx test_file              # give write permissions to group

sudo usermod -a -G test {my-user}       # add my user to 'test' group

touch test_file                         # touch the file as my current user

अंतिम पंक्ति अनुमतियाँ त्रुटि पैदा करती है।

मैंने सुनिश्चित किया है कि मेरा उपयोगकर्ता 'परीक्षण' समूह का हिस्सा है ( groups {my-user}इसकी पुष्टि करता है)। Test_file का समूह निश्चित रूप से 'परीक्षण' के लिए सेट किया गया है और समूह अनुमतियाँ सेट की गई हैं।

मेरा उपयोगकर्ता फ़ाइल परीक्षण फ़ाइल को क्यों नहीं लिख सकता है?

जवाबों:


29

किसी नए समूह में उपयोगकर्ता को जोड़ते समय, वह किसी भी वर्तमान में चल रही प्रक्रियाओं में लागू नहीं होगा, केवल नए। आपको लॉग आउट करना होगा और फिर वापस लॉग इन करना होगा।


4
या su - usernameअपने रनिंग कंसोल में हैक करें। आप इस तरह लॉग इन करने के लिए लॉगआउट करने की जरूरत नहीं है :)
Matthias krull

5

सर्वर लॉगिंग और रीबूटिंग दोनों तरीके मेरे लिए कारगर नहीं थे।

यह विधि हालांकि मेरे लिए काम कर रही है: (इस उत्तर के संदर्भ में )

chmod g+rwxs <parent folder>

1
+sभाग क्या करता है? धन्यवाद।
tommy.carstensen

1
यह सेटिउड बिट सेट करता है। यह फ़ाइल को फ़ाइल के स्वामी के रूप में चलाने की अनुमति देता है। मान लें कि आपके पास एक फ़ाइल है जिसे आप रूट के रूप में चलाना चाहते हैं, कोई फर्क नहीं पड़ता कि कौन व्यक्ति फ़ाइल चला रहा है, आप उस फ़ाइल के लिए सेट बिट सेट करेंगे।
जूलियस

कुंजी यह थी x: ऐसा लगता है कि touchकाम करने के लिए निष्पादन अधिकारों की आवश्यकता है ।
asac - मोनिका

0

आप newgrpउपयोगकर्ता के वर्तमान समूह आईडी को बदलने के लिए कमांड का उपयोग कर सकते हैं । से man newgrp:

लॉगिन सत्र के दौरान वर्तमान समूह आईडी को बदलने के लिए newgrp कमांड का उपयोग किया जाता है। यदि वैकल्पिक -ध्वज दिया जाता है, तो उपयोगकर्ता के पर्यावरण को फिर से संगठित किया जाएगा जैसे कि उपयोगकर्ता ने लॉगिन किया था, अन्यथा वर्तमान कार्यशील निर्देशिका सहित वर्तमान परिवेश अपरिवर्तित रहता है।


1
यह आपके वर्तमान समूह को बदलने का प्रभाव भी है। यह हमेशा एक अच्छा विचार नहीं है।
डेनिथ

अगर मैं कर सकता तो मैं इसे कम कर देता। ओवरराइटिंग समूह भविष्य में बहुत निराशाजनक हो सकते हैं ... esp। -Rविकल्प के साथ !
एडवर्ड

0

यह सुनिश्चित करने के लिए कंप्यूटर को रीबूट करें कि कोई अटकी हुई प्रक्रियाएं आपके उपयोगकर्ता और समूहों को लॉगआउट और लॉगिन के दौरान सही तरीके से लागू होने से नहीं रोक रही हैं।

ये चरण आपके उपयोगकर्ता समूह testको लिखित अनुमति देना चाहिएtest_file

sudo touch test_file 
sudo groupadd test
sudo chown root:test test_file
sudo chmod g+rwx test_file
sudo usermod -a -G test {my-user}

कंप्यूटर को रिबूट करें या अपने उपयोगकर्ता का एक ऑपरेटिंग सिस्टम लॉगआउट करें। एक टर्मिनल पुनरारंभ पर्याप्त नहीं है।

touch test_file

उपयोगकर्ता फ़ाइल में लिख सकता है क्योंकि यह 'परीक्षण' समूह का एक हिस्सा है और समूह के पास अनुमति है।


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