लिनक्स में विशिष्ट उपयोगकर्ता और समूहों के लिए अनुमतियाँ सेट करना


6

मैं किसी विशिष्ट उपयोगकर्ता या एक विशिष्ट समूह को फ़ाइलों के लिए अनुमति कैसे दे सकता हूं?

हमारे पास तीन समूह हैं: "g12" ("u1" और "u2)," g34 "और" g56 "।

  • g12 - केवल फ़ाइल को पढ़ना चाहिए।

  • g34 - इसे लिखना और पढ़ना चाहिए।

  • g56 - सभी अनुमतियाँ होनी चाहिए (rwx)।

और दूसरों को फ़ाइल का उपयोग नहीं करना चाहिए।


मैं @webdestroya से सहमत हूं, और इसके अलावा मैं आपको अपना जवाब पढ़ने के लिए दृढ़ता से सलाह दूंगा। मैं आपके अपडेट का भी ध्यान रखता हूं। एक्सेस कंट्रोल लिस्ट के साथ आपको फाइल और डायरेक्टरी एक्सेस पर जो ठीक-ठाक कंट्रोल मिलता है, वह आपको मिल जाता है।
पीटर जरिक

जवाबों:


12

आपको एक्सेस कंट्रोल लिस्ट का उपयोग करने की आवश्यकता है। वे लिनक्स में डिफ़ॉल्ट उपयोगकर्ता / समूह / अन्य तरीके से अनुमतियों को संभालने का अधिक उन्नत तरीका हैं। इस पेज को उदाहरण के लिए देखें: उबंटू एक्सेस कंट्रोल लिस्ट

उस पृष्ठ से एक उदाहरण:

setfacl -m u:mike:rwx file or directory

मैंने केवल सर्वर प्रशासक पाठ्यक्रम पर एक प्रयोगशाला में इन आदेशों का उपयोग खुद किया है, लेकिन जहाँ तक मैं देख सकता हूँ, यह एक बहुत आसान तरीका है।


3

जड़ के रूप में:

chown u1:u1 f1.txt
chmod 400 f1.txt

यह सुनिश्चित करेगा कि फ़ाइल उपयोगकर्ता u1 (chown) और समूह u1 के स्वामित्व में है (यह मानते हुए कि उपयोगकर्ता u1 का डिफ़ॉल्ट समूह u1 है) और केवल वही उपयोगकर्ता फ़ाइल (chmod) को पढ़ सकता है। यदि आप चाहते हैं कि उपयोगकर्ता फ़ाइल में लिख सके, तो 400 से 600 बदल दें।

आप पहले उपयोगकर्ता के डिफ़ॉल्ट समूह में दूसरा उपयोगकर्ता जोड़ सकते हैं:

useradd -G u1 u2

उपरोक्त आदेश मानता है कि उपयोगकर्ता u1 के डिफ़ॉल्ट समूह को u1 भी कहा जाता है और दूसरा उपयोगकर्ता u2 है।

अब हम समूह 1 के सदस्यों को पढ़ने की अनुमति देने के लिए f1.txt पर अनुमतियों को बदलते हैं (400 में दूसरा "4" समूह अनुमतियाँ हैं):

chmod 440 f1.txt

Chmod कमांड के बाद के प्रत्येक तीन अंक सिस्टम पर स्वामी (प्रथम अंक), समूह (दूसरा अंक), और अन्य सभी उपयोगकर्ताओं (तीसरे अंक) के लिए अनुमतियों का प्रतिनिधित्व करते हैं। 1 का मान निष्पादन की अनुमति है, 2 लिखित अनुमति है और 4 पढ़ने की अनुमति है। आप इन तीन प्रकार की अनुमतियों को "मिक्स" करने के लिए एक साथ जोड़ते हैं। उदाहरण, 4 (पढ़ें) + 1 (निष्पादित करें) = 5, इसलिए स्वामी और समूह को फ़ाइल को पढ़ने और निष्पादित करने की अनुमति देने के लिए, लेकिन बाकी सभी तक पहुंच को प्रतिबंधित करें, जिससे आप मालिक को फ़ाइल पढ़ने और लिखने की अनुमति दे सकें और समूह और अन्य सभी उपयोगकर्ताओं को फ़ाइल पढ़ने के लिए, आप 644 का उपयोग करेंगे।

अनुमतियाँ सेट करने के लिए अन्य प्रारूप हैं, टाइप करें:

man chmod

अधिक विवरण के लिए कमांड प्रॉम्प्ट पर।


धन्यवाद। ठीक है, और मैं उसी तरह "u2" को कैसे अनुदान दे सकता हूं? क्या मुझे "chown u2: u2 f1.txt && chmod ..." का उपयोग करना चाहिए ?? मैं वास्तव में, मुख्य गर्भाधान को नहीं समझता ... उदाहरण के लिए, जब मैं अपने दोस्त को अपने घर से कुछ लाने के लिए कहता हूं, तो मैं उन्हें एक चाबी देता हूं। लेकिन मैं अपना घर उसके पास प्रस्तुत नहीं करता हूँ :)
एंटोनियल २५'१० को

यह स्वामी को u2 में बदल देगा और समूह को उपयोगकर्ता u2 के डिफ़ॉल्ट समूह में बदल देगा। यदि आप ऐसा करते हैं और 400 chmod करते हैं तो u1 अब फ़ाइल तक नहीं पहुंच पाएगा। मैंने अपने उत्तर में कुछ और विवरण जोड़े हैं, आशा है कि इससे मदद मिलेगी।
स्टेसी रिचर्ड्स

मौजूदा लोगों को हटाने के बिना उपयोगकर्ता को जोड़ने के तरीके के लिए मेरा उत्तर देखें। यदि आप Ubuntu पर चल रहे हैं तो यह कम से कम काम करना चाहिए।
पीटर जरिक

धन्यवाद, अब मैं मुख्य विचार को समझ गया। लेकिन, जहाँ तक, मैं इसे समझता हूँ - बदलती अनुमति केवल एक समूह के दायरे में की जाती है। हमारे उदाहरण में, यू 1 और यू 2 एक समूह में हैं, "जी 12" कहते हैं। लेकिन, क्या, अगर एक और समूह "g34" आ रहा है (u3 और u4), जिसके पास अलग-अलग अनुमतियां होनी चाहिए? इस प्रश्न का पूरी तरह से पता लगाने के लिए, कृपया, मेरे प्रश्न में वर्णित कार्य को कैसे हल करें (अपडेट किया गया)
एंटोनियल

1

संक्षिप्त उत्तर है, आप नहीं कर सकते

आप समूहों या उपयोगकर्ताओं के लिए अनुमतियाँ सेट नहीं करते हैं, आप फ़ाइलों के लिए अनुमतियाँ सेट करते हैं। एक फ़ाइल में एक मालिक और एक समूह होता है, और आप एक उपयोगकर्ता, एक समूह और बाकी सभी के लिए "रीड" "लिख" और "निष्पादित" अनुमतियों को अलग-अलग सेट कर सकते हैं।

क्या आप इसका उदाहरण दे सकते हैं कि आप क्या करना चाहते हैं?


क्षमा करें, मैंने अपना प्रश्न सही नहीं लिखा है। मैं अनुदान, कहना चाहता हूं, केवल एक उपयोगकर्ता "u1" के लिए फ़ाइल (f1.txt) की अनुमति पढ़ें
एंटोनियल

मेरे सवाल को सही किया
एंटोनियल

मैंने आदमी को पढ़ा है, लेकिन मैंने इसे नहीं समझा। यह केवल समूहों, उपयोगकर्ताओं, मालिकों और अन्य के बारे में बताता है। मैं वास्तव में किस समूह (या उपयोगकर्ता) को निर्दिष्ट कर सकता / सकती हूं?
एंटोनियल

एक फ़ाइल में एक स्वामी और एक स्वयं का समूह होता है, जिसे आप कब ls -lऔर किसके साथ बदल सकते हैं chown। आप इस उपयोगकर्ता और इस समूह (और अन्य सभी) के लिए अनुमतियाँ सेट करते हैं ।
देवसोलर

-1

मुझे लगता है कि आप जो चाहते हैं वह यह है कि आप अपने समूहों को कैसे व्यवस्थित करते हैं।

मैं लिनक्स के लिए अपेक्षाकृत नया हूं, लेकिन जो मैं समझता हूं, उससे आप कुछ नए समूह बना सकते हैं। AccessLow और AccessAll जैसे कुछ कहें। मान लीजिए कि आप चाहते हैं कि जिम सभी तक पहुंच जाए, तो आप जिम को उस समूह में डाल देंगे। फिर आप वह विशिष्ट निर्देशिका देते हैं जो आप चाहते हैं कि उन तक AccessAll के समूह के स्वामित्व की पहुंच हो। फिर कहें कि आप उन्हें क्या चाहते हैं, जो कि chmod के साथ करने में सक्षम हैं (यदि आप चाहते हैं कि वे इसे निष्पादित करें, तो उन्हें Chmod 750 दें। यह स्वामी को पूर्ण नियंत्रण देता है जबकि AccessAll समूह में केवल पढ़ने और निष्पादित करने की क्षमता है, लेकिन फ़ोल्डर में नहीं लिख सकता यदि आप चाहते हैं कि एक फ़ोल्डर सीमित पहुंच वाला हो, तो AccessLow के लिए समूह स्वामित्व का उपयोग करें और आप जो करना चाहते हैं, उसके लिए अपनी उपयुक्त विधा का उपयोग करें। मुझे लगता है कि यह वही काम करेगा जो मुझे पता है। यदि कोई नया व्यक्ति आपके साथ आता है। के लिए पहुँच देना चाहते हैं, आप बस तब विचार कर सकते हैं " निर्दिष्ट करता है, लेकिन फिर भी कुछ चीजें अभी भी छिपाना चाहता है तो मैं उन्हें एक ऐसे समूह में रखने का सुझाव देता हूं जिसमें थोड़ा और करने की क्षमता है लेकिन "अन्य" के रूप में कम पहुंच नहीं है। इसमें थोड़ी सी सेटिंग होती है लेकिन लगता है कि आप वही कर रहे हैं जो आप ढूंढ रहे हैं। यह सब मुझे पता है कि मैं यहाँ क्या पढ़ रहा था, कुछ इसी तरह के लिए खुद को स्वामित्व बदलने का तरीका खोज रहा था। उबंटू सर्वर का उपयोग करते हुए, मैं उन मापदंडों को बदलने के लिए सीमित था, लेकिन इस प्रक्रिया में पता चला और जो मुझे लगता है कि काम कर सकता था, उसके बारे में लिखने का फैसला किया। निर्दिष्ट करता है, लेकिन फिर भी कुछ चीजें अभी भी छिपाना चाहता है तो मैं उन्हें एक ऐसे समूह में रखने का सुझाव देता हूं जिसमें थोड़ा और करने की क्षमता है लेकिन "अन्य" के रूप में कम पहुंच नहीं है। इसमें थोड़ी सी सेटिंग होती है लेकिन लगता है कि आप वही कर रहे हैं जो आप ढूंढ रहे हैं। यह सब मुझे पता है कि मैं यहाँ क्या पढ़ रहा था, कुछ इसी तरह के लिए खुद को स्वामित्व बदलने का तरीका खोज रहा था। उबंटू सर्वर का उपयोग करते हुए, मैं उन मापदंडों को बदलने के लिए सीमित था, लेकिन इस प्रक्रिया में पता चला और जो मुझे लगता है कि काम कर सकता था, उसके बारे में लिखने का फैसला किया। सभी मुझे पता है कि मैं यहाँ क्या पढ़ रहा था, कुछ इसी तरह के लिए खुद को स्वामित्व बदलने का तरीका खोज रहा था। उबंटू सर्वर का उपयोग करते हुए, मैं उन मापदंडों को बदलने के लिए सीमित था, लेकिन इस प्रक्रिया में पता चला और जो मुझे लगता है कि काम कर सकता था, उसके बारे में लिखने का फैसला किया। सभी मुझे पता है कि मैं यहाँ क्या पढ़ रहा था, कुछ इसी तरह के लिए खुद को स्वामित्व बदलने का तरीका खोज रहा था। उबंटू सर्वर का उपयोग करते हुए, मैं उन मापदंडों को बदलने के लिए सीमित था, लेकिन इस प्रक्रिया में पता चला और जो मुझे लगता है कि काम कर सकता था, उसके बारे में लिखने का फैसला किया।

EDIT: इस बारे में सोचकर, मुझे आश्चर्य होता है कि अगर सांबा में एक अलग प्रकार का हिस्सा करने के लिए मुझे कुछ विचार अब एक विचार के साथ लोगों को सौंपने का एक तरीका है। मैं बाद में इस पर शोध कर सकता हूं और अपना जवाब पा सकता हूं। लेकिन विंडोज में, आप ऐसा करने में सक्षम हैं, इसलिए सोचें कि यह किसी तरह यहां संभव हो सकता है। यह कहना अच्छा होगा कि वर्तमान में मेरे डोमेन का उपयोग करने वाले लोगों के लिए सबसे अधिक अनुमति प्राप्त करने में सक्षम होना चाहिए, जबकि किसी ने प्रमाणित किया है लेकिन डोमेन में नहीं है केवल क्षमताओं को पढ़ा है और शायद बिल्कुल भी नहीं लिखने के साथ निष्पादित करें, आदि मुझे लगता है कि यह संभव हो सकता है। उन्हें विशिष्ट लेकिन सामान्यीकृत लॉगिन नामों के रूप में अच्छी तरह से बनाकर। मेरी संगीत निर्देशिका तक पहुँचने के लिए, बस "संगीत" नामक एक लॉगिन बना सकते हैं

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