एक निर्देशिका में नई फाइलें सुनिश्चित करना समूह से संबंधित है


67

मैं एक साझा निर्देशिका बनाना चाहता हूं जब कई उपयोगकर्ता (सभी mygroup कहने के लिए) फाइल बना और संपादित कर सकते हैं। मैं इस निर्देशिका की सभी फाइलें और उपनिर्देशिका को माइग्रुप से संबंधित करना चाहूंगा

मैंने मौजूदा फ़ाइलों को बदलकर समूह mygroup का उपयोग किया है chgrp, लेकिन नई फ़ाइलें अभी भी उपयोगकर्ता के प्राथमिक समूह से संबंधित हैं। क्या बार-बार चलने वाले चंग के बिना समूह से संबंधित नई फाइलें सुनिश्चित करने का एक तरीका है।

जवाबों:


108

आप SetGID बिट सेट करना चाहते हैं।

chmod g+s dir

निर्देशिका में बनाई गई सभी नई फ़ाइलों में समूह को निर्देशिका के समूह में सेट किया जाएगा।

एक सुपरसुअर ब्लॉग पोस्ट ने चिपचिपे बिट्स और अन्य लिनक्स अनुमति बिट्स की व्याख्या की:

SetGID, हालांकि, एक पूरी तरह से गेंद का खेल है। जब किसी निर्देशिका में SetGID बिट सेट होता है और उस निर्देशिका के भीतर एक फ़ाइल बनाई जाती है, तो फ़ाइल का समूह स्वामित्व स्वचालित रूप से निर्देशिका के समूह के रूप में संशोधित होता है।


1
धन्यवाद। संदर्भ उपयोगी है।
ओम्स्क

4
प्रारंभिक निर्देशिका में एक उपनिर्देशिका बनाने के बारे में क्या है जो मूल निर्देशिका के समूह से भी संबंधित है? क्या यह संभव है?
डेक्सिक्स

@ ल्यूकहैप का जवाब नीचे देना महत्वपूर्ण है जब यह चुपचाप विफल नहीं होता है: sudo का उपयोग करें
Rhubarb


11

यह कुछ लोगों को सेटगाइड के साथ फंस सकता है, अगर फ़ोल्डर का समूह आपके खुद से अलग है, तो आपको chmod को रूट के रूप में चलाने की आवश्यकता हो सकती है, लेकिन आपको ऐसा करने में कोई त्रुटि नहीं दिखाई देगी जो आपको ऐसा करने की आवश्यकता है।

बिना सूदो के

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                     # no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo        # and the group is set wrong

सुडोल के साथ

$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir   # the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo # and the group is set right
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.