उबंटू: उपयोगकर्ताओं के लिए डिफ़ॉल्ट एक्सेस मोड (अनुमतियां) होम डायर (/ होम / उपयोगकर्ता)


16

उबंटू में उपयोगकर्ताओं के घर डायर के लिए एक डिफ़ॉल्ट एक्सेस मोड (जैसे 0755) क्या है (जैसे आउटपुट क्या है ls -ld /home/*)? अन्य प्रमुख linux distribs (Debian, RedHat, Gentoo, Arch) में?

मैं इस डिफ़ॉल्ट को कैसे बदल सकता हूं?

पुनश्च: क्षमा करें, लेकिन मैं अब एक ubuntu नहीं मिल सकता है और यह अपने आप को परीक्षण।


मैं umask के बारे में पूछ नहीं हूँ, लेकिन के बारे में skelऔरhome-dirs
osgx

कृपया टिप्पणियों में नई जानकारी न जोड़ें, लेकिन मूल प्रश्न में इसे शामिल करें
bbaja42

यह एक नई जानकारी नहीं है, यह मेरे प्रश्न की गलत समझ के बारे में टिप्पणी है
ऑग्सक्स

जवाबों:


16

एक उपयोगकर्ता का उपयोग करते समय useradd --create-home username, कंकाल निर्देशिका (आमतौर पर /etc/skel) को इसकी अनुमति सहित कॉपी किया जाता है।

घर निर्देशिका ( /home/username) में UMASKसेटिंग के अधीन है /etc/login.defs। यह 022डिफ़ॉल्ट रूप से सेट किया गया है, इसलिए /home/username755 की अनुमतियां बन जाती हैं।

उबंटू मैनुअल पेजuseradd से प्रासंगिक अंश :

/Etc/login.defs में निम्न कॉन्फ़िगरेशन चर इस उपकरण के व्यवहार को बदलते हैं:
[..]
UMASK (संख्या)

फ़ाइल मान सृजन मास्क इस मान के लिए आरंभिक है। यदि निर्दिष्ट नहीं किया गया है, तो मास्क को 022 पर आरंभीकृत किया जाएगा।

useradd और newusers इस मास्क का उपयोग उनके द्वारा बनाई गई होम डायरेक्टरी के मोड को सेट करने के लिए करते हैं


Redhat / डेबियन के बारे में क्या?
असगंध

AFAIK की यह एक मानक बात है useradd, अगर यह उबंटू-विशिष्ट होगा, इसका उल्लेख मैनुअल पेज में किया जाना चाहिए था। एक रेडहैट
Lekensteyn

11

उपयोगकर्ता घर की डिफ़ॉल्ट अनुमति निम्नलिखित स्थानों पर नियंत्रित की जा सकती है।

  • कंकाल निर्देशिका विकल्प ( -k, --skel SKEL_DIR) का useradd
  • SKEL/etc/adduser.confउस मूल्य में डिफ़ॉल्ट कंकाल निर्देशिका को परिभाषित करते हैं।
  • DIR_MODE/etc/adduser.confउस में मान डिफ़ॉल्ट अनुमतियों को परिभाषित करता है।

नए उपयोगकर्ताओं की होम निर्देशिका /etc/skelको एक टेम्पलेट (डिफ़ॉल्ट व्यवहार) के रूप में उपयोग किया जाता है।
की डिफ़ॉल्ट अनुमति /etc/skelहै 0755 (drwxr-xr-x)
सही अनुमतियों के साथ एक कस्टम कंकाल निर्देशिका का उपयोग करने से नई होम निर्देशिकाओं को वांछित अनुमतियां मिल सकेंगी।

के लिए डिफ़ॉल्ट adduserपरिभाषित किए गए हैं /etc/adduser.conf
का डिफ़ॉल्ट मान DIR_MODEमें /etc/adduser.confहै 0755। अनुमतियाँ ( या समान) को
बदलने DIR_MODEसे DIR_MODE=0750नई होम निर्देशिकाओं को वांछित अनुमतियां मिल सकेंगी।
उबंटू प्रलेखन के अनुसार, यह सबसे अच्छा विकल्प लगता है।

पहले से मौजूद उपयोगकर्ता होम निर्देशिकाओं को मैन्युअल रूप से बदलना होगा।

sudo chmod 0750 /home/username

इसलिए /etc/adduser.confनए उपयोगकर्ताओं को 0755 (drwxr-xr-x)टाइप की अनुमति मिलने से बचने के लिए इंस्टॉलेशन के बाद इसे बदलने का एक अच्छा विचार है ।
अभी भी स्थापना के दौरान बनाए गए पहले उपयोगकर्ता ने 0755अपने होम डायरेक्टरी में सेट किया होगा , जिसे मैन्युअल रूप से बदला जाना चाहिए।

UMASKमें /etc/login.defsउपयोगकर्ताओं द्वारा बनाई गई फ़ाइलों / निर्देशिकाओं / आदि के लिए एक सामान्य सेटिंग है (न केवल उनके घर निर्देशिकाओं में)। और के आधार पर बदल सकता USERGROUPS_ENABहै /etc/login.defs

आधिकारिक स्पष्टीकरण: उपयोगकर्ता प्रबंधन - उपयोगकर्ता प्रोफ़ाइल सुरक्षा
उपयोगकर्ता प्रबंधन के अन्य वर्गों की भी जाँच करें।

संबंधित: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder


3
लिंक-ओनली उत्तर संभव भविष्य के लिंक-रोट के कारण नहीं-नहीं हैं। कृपया अपने उत्तरों में प्रासंगिक जानकारी शामिल करें।
Ƭᴇc atιᴇ007

@ techie007 मुझे पता है। अगर मैं पर्याप्त प्रतिनिधि होता तो एक टिप्पणी का उपयोग करता।
Sithsu

1
@ Techie007 ने उत्तर में अधिक सामग्री जोड़ी
सिथसू

स्थापना DIR_MODEमें /etc/adduser.confनिश्चित रूप से जाने के लिए सही रास्ता है।
user1338062

2

ध्यान दें: यदि आप केवल घर निर्देशिका अनुमतियाँ बदलना चाहते हैं, तो /etc/login.defs में UMASK मान न बदलें । कारण UMASK को बदलने से सब कुछ प्रभावित होगा।

मैंने एक बार भी इसका पालन किया था और जब मैंने पाइप का उपयोग करके किसी भी पैकेज सिस्टम को चौड़ा किया तो यह अन्य उपयोगकर्ताओं के लिए सुलभ नहीं था और लगातार इनकार करने की अनुमति दे रहा था। चूंकि डिफ़ॉल्ट UMASK ने उन सभी पैकेज निर्देशिकाओं की अनुमति को प्रभावित किया था जो परिवर्तन लागू होने के बाद बनाई गई थीं।

सही तरीका है DIR_MODE को /etc/adduser.conf में बदलना । चूंकि /etc/adduser.conf का उपयोग अधिकांश लिनक्स डिस्ट्रोस में किया जाता है इसलिए यह समाधान अधिकांश के लिए काम करता है।


1

Ubuntu में / home के लिए डिफ़ॉल्ट अनुमतियाँ rwxr-xr-x या 755 हैं। / home / उपयोगकर्ता के लिए यह rwxr-xr-x या 755 भी है। कम से कम यह मेरी स्थापना पर है।

होम निर्देशिका की फ़ाइल अनुमतियाँ बदलने के लिए, एक टर्मिनल खोलें और कुछ इस तरह से चलाएं:

chmod 700 /home/user

याद रखें कि आप वास्तव में सेट करना चाहते हैं, जो 700 से उस चोद मूल्य को बदलना चाहते हैं।

यदि आपके पास निर्देशिका नहीं है, तो अनुमतियाँ बदलने के लिए आपको रूट विशेषाधिकार की आवश्यकता होती है। उबंटू इसके लिए उपयोग करता sudoहै:

sudo chmod 700 /home/user

जब आप यह कमांड चलाते हैं तो यह एडमिनिस्ट्रेटर का पासवर्ड मांगेगा।


2
आपका दूसरा भाग गलत है, होम डायरेक्टरी का स्वामित्व आपके पास है, इसलिए आपको इसके लिए सुपरयुसर की आवश्यकता नहीं होगी।
लेकेनस्टाइन

आपका मानना ​​है कि वह केवल अपने ही घर dir पर अधिकार बदलना चाहता है। मैंने कहा था "यदि आप निर्देशिका के मालिक नहीं हैं।" मेरा कोड किसी भी उपयोगकर्ता के होम डायर पर काम करेगा।
Rincewind42

मैंने इसे और अधिक सही बनाने के लिए आपकी पोस्ट को संपादित किया (उम्मीद है कि आप इसे पसंद करेंगे), आपकी मूल पोस्ट में यह बिल्कुल भी शामिल नहीं था: superuser.com/revisions/303995/1
Lekensteyn

0

Umask मैन पेज चेक करें ।

डिफ़ॉल्ट umask सेटिंग है

0022

अनुमति देता है groupऔर othersपढ़ने और पहुंच का निष्पादन करता है।


नहीं, मेरा प्रश्न किसी ओम्स्क के बारे में नहीं है, बल्कि उपयोगकर्ता के फ़ोल्डर की डिफ़ॉल्ट अनुमतियों के बारे में है (बस उपयोगकर्ता aद्वारा बनाए जाने के बाद , इसका आउटपुट क्या होगा ls -ld /home/a)
ऑग्क्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.