ऐसा लगता है कि आप सेटगिड बिट कार्यक्षमता का वर्णन कर रहे हैं, जहां जब एक निर्देशिका है जो इसे सेट करता है, तो इसके भीतर बनाई गई किसी भी नई फ़ाइल को उनके समूह को उसी समूह पर सेट करने के लिए बाध्य करेगा जो मूल निर्देशिका पर सेट है।
उदाहरण
$ whoami
saml
$ groups
saml wheel wireshark
परमिट + मालिकों के साथ एक निर्देशिका सेटअप
$ sudo mkdir --mode=u+rwx,g+rs,g-w,o-rwx somedir
$ sudo chown saml.apache somedir
$ ll -d somedir/
drwxr-s---. 2 saml apache 4096 Feb 17 20:10 somedir/
इस dir में किसी फ़ाइल को saml के रूप में स्पर्श करें
$ whoami
saml
$ touch somedir/afile
$ ll somedir/afile
-rw-rw-r--. 1 saml apache 0 Feb 17 20:11 somedir/afile
इससे आपको लगभग वैसा ही मिलेगा जैसा आप चाहते हैं। यदि आप वास्तव में वही चाहते हैं जो आपने हालांकि वर्णित किया है, तो मुझे लगता है कि आपको उस (एसीएल) को प्राप्त करने के लिए एक्सेस कंट्रोल लिस्ट की कार्यक्षमता का सहारा लेना होगा।
यदि आप निर्देशिका के तहत बनाई जाने वाली फ़ाइलों पर अनुमतियों पर थोड़ा और नियंत्रण प्राप्त करना चाहते हैं somedir
, तो आप डिफ़ॉल्ट अनुमतियों को सेट करने के लिए निम्न ACL नियम जोड़ सकते हैं।
इससे पहले
$ ll -d somedir
drwxr-s---. 2 saml apache 4096 Feb 17 20:46 somedir
अनुमतियाँ सेट करें
$ sudo setfacl -Rdm g:apache:rx somedir
$ ll -d somedir/
drwxr-s---+ 2 saml apache 4096 Feb 17 20:46 somedir/
सूचना +
अंत में, इसका मतलब है कि इस निर्देशिका यह करने के लिए लागू एसीएल है।
$ getfacl somedir
# file: somedir
# owner: saml
# group: apache
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:apache:r-x
default:mask::r-x
default:other::---
उपरांत
$ touch somedir/afile
$ ll somedir/afile
-rw-r-----+ 1 saml apache 0 Feb 17 21:27 somedir/afile
$
$ getfacl somedir/afile
# file: somedir/afile
# owner: saml
# group: apache
user::rw-
group::r-x #effective:r--
group:apache:r-x #effective:r--
mask::r--
other::---
डिफ़ॉल्ट अनुमतियों ( setfacl -Rdm
) सेट के साथ सूचना दें ताकि अनुमतियाँ r-x
डिफ़ॉल्ट रूप से ( g:apache:rx
) हो। यह किसी भी नई फाइल को केवल अपने r
बिट सक्षम होने के लिए मजबूर करता है ।