विंडोज में फ़ाइल अनुमतियों को बदलने के लिए chmod के बराबर


59

क्या किसी chmodफ़ाइल की अनुमतियाँ बदलने के लिए लिनक्स के बराबर कोई विंडोज है ?

जवाबों:


25

ग्रेग का उल्लेख है attrib - लेकिन attrib कहीं भी पास नहीं है chmod- attribएक ही फ़ाइल के रीड-ओनली / हिडन एट्रिब्यूट्स को सेट कर सकते हैं - यह ठीक-ठीक नियंत्रित नियंत्रण प्रदान नहीं icaclsकरता है।

icaclsसेट / कंट्रोल एक्सेस सूचियों को रीसेट करता है, इसलिए आप व्यक्तिगत SID और समूहों के लिए अधिकार प्रदान / अस्वीकार कर सकते हैं। हालांकि यह काफी जटिल है।

यहाँ एक उदाहरण है जिसे मैंने अपने गिथब गैस्ट में सहेजा है ; यह एक फ़ोल्डर में सभी फ़ाइलों के लिए स्वामित्व और अभिगम नियंत्रण सूची को रीसेट करता है और विशेष रूप से उन कष्टप्रद को ठीक करने के लिए उपयोगी है "पिछली कार्रवाई से फ़ाइलों को स्थानांतरित करते समय" विशेष रूप से इस क्रिया को करने के लिए आपको "अनुमतियों की आवश्यकता है":

icacls * /reset /t /c /q 

रीसेट डिफ़ॉल्ट सूची के साथ मौजूदा एक को बदलता है।
/tसभी फ़ाइलों पर पुनरावर्ती रूप से कार्य करता है, फ़ोल्डर और सबफ़ोल्डर
/qकिसी भी सफलता के संदेश को प्रदर्शित नहीं करता है
/cशेष फ़ाइलों के साथ एक त्रुटि तब भी होती है।

आप मौजूदा ACL बैकअप जैसी चीजें भी कर सकते हैं और उन्हें लागू कर सकते हैं। Ss64 पर एक नज़र डालें जो विभिन्न विकल्पों और स्विच को बहुत अच्छी तरह से समझाता है।


समस्या यह है, मैं ऐसा नहीं कर सकता, हर फ़ाइल के लिए संदेश है: "प्रवेश निषेध है"। क्या इसके आसपास कोई रास्ता नहीं है? एक स्कूल प्रणाली पर जो इसे ब्लॉक करती है, लेकिन cmd नहीं?
Theonlygusti

आपको व्यवस्थापक विशेषाधिकारों की आवश्यकता है; "सामान्य" cmdजो आपको [विन] + [आर] मारने से मिलता है, इनका अभाव है। ऐसी विशेष आवश्यकताओं के लिए मेरे पास "व्यवस्थापक शेल" शॉर्टकट है, "व्यवस्थापक के रूप में निष्पादित करें" (या समान; मैं जर्मन विंडोज सिस्टम पर हूं) की जाँच की गई (और एक गहरे लाल रंग की पृष्ठभूमि के साथ)।
टोबियास

मैं वास्तव में अनुमति से वंचित त्रुटि के साथ समस्या का सामना करता हूं। क्यों नरक मैं कुछ कर सकता हूं अगर मैं प्रशासक हूं और मैं प्रशासक के रूप में चलाता हूं, तो मैं भी सांत्वना देता हूं। वो क्या है?
19


9

वहाँ (दुख की बात है) एक सटीक समतुल्य नहीं हो सकता है, क्योंकि Linux und DOS / Windows अलग-अलग उद्देश्यों के लिए उपयोग करता है, और (जैसा कि चतुरंगा ने पहले कहा था) सुरक्षा मॉडल अलग है:

  • विंडोज फाइल सिस्टम में, "छिपी" ( H) और "सिस्टम" ( S) विशेषताएँ हैं जिनके लिनक्स में समतुल्य नहीं है; वहाँ, फाइलें एक डॉट ( .) के साथ नाम को प्रस्तुत करके छिपी हुई हैं ।
  • विंडोज "आर्काइव" ( A) विशेषता के बराबर भी नहीं है।
  • xडॉस / विंडोज फाइल विशेषताओं में "निष्पादन योग्य" ( ) लिनक्स विशेषताओं के बराबर नहीं है ।
  • वहाँ है विंडोज "निर्देशिका" (करने के लिए एक बराबर D) विशेषता (लेकिन यह वैसे भी बदला नहीं जा सकता)।
  • लिनक्स फाइल सिस्टम में, प्रत्येक प्रविष्टि बिल्कुल एक उपयोगकर्ता और बिल्कुल एक समूह के स्वामित्व में है, और उनमें से प्रत्येक के लिए और दूसरों के लिए पढ़ने / लिखने / निष्पादन की अनुमति दी जा सकती है। ACLs (जैसे कि विंडोज द्वारा उपयोग किया जाता है) और भी अधिक लचीले होते हैं, लेकिन साथ ही साथ अधिक जटिल होते हैं, और कमांडलाइन सिंटैक्स एक PITA (मेरी विनम्र राय में, निश्चित रूप से) है

डॉस फ़ाइल विशेषता R(रीड-ओनली) वह है जिसे एक समतुल्य माना जा सकता है: यह विशेषता सेट लगभग wसभी गायब होने के लिए विशेषता की तरह है; लेकिन इस विशेषता को बदलने की अनुमति ACL के अधीन है।

यह विंडोज पर chmod/ chownसमतुल्य होने के लिए शांत हो सकता है , शायद कुछ स्क्रिप्टिंग भाषा में लिखा जाता है, जो बदले में कॉल करता है attribऔर cacls(या उत्तराधिकारी), लेकिन मेरे पास एक नहीं है।


अच्छी पहली पोस्ट!
स्लम

आप फ़ाइल विशेषताओं और अनुमतियों को भ्रमित कर रहे हैं। लिनक्स में फ़ाइल विशेषताएँ हैं जिन्हें चैटट्रे के माध्यम से बदला जा सकता है । लिनक्स में विशेषताओं के लिए ठीक-ठीक अभिगम नियंत्रण है (उदाहरण के लिए [i] mmutable विशेषता केवल रूट या एक CAP_LINUX_IMMUTABLEप्रक्रिया द्वारा सेट की जा सकती है), जबकि विंडोज़ में सेट की गई विशेषताओं तक पहुँच सभी या कुछ भी नहीं है। रीड-ओनली फ़ाइल विशेषता सेट करने के लिए इस आदेश का उपयोग करना Windows के लिए एक सामान्य गलती है chmod। दुर्भाग्य से सिस्टम केवल प्रोग्रामर के रूप में सूचित किए जाते हैं जो उन्हें विकसित करते हैं।
एरिक सन

@eryksun: दिलचस्प है - मुझे उस chattrआदेश की जानकारी नहीं थी । लेकिन आपने मुझे "फ़ाइल विशेषताओं और अनुमतियों को भ्रमित करने" का अधिकार नहीं दिया? AFAICS, मैंने डॉस विशेषताओं के बारे में लिखा हर शब्द अभी भी सही है।
टोबियास

फ़ाइल में बहुत सारी (विस्तारित) विशेषताएँ होती हैं। यूनिक्स में विशेषताओं के मुख्य सेट को इनोड में संग्रहीत किया जाता है, जिसमें फ़ाइल मोड (अनुमतियां) शामिल हैं। अन्य विस्तारित विशेषताओं (जैसे ACL) को बाह्य रूप से संग्रहीत किया जा सकता है। विंडोज में यूनिक्स "मोड" विशेषता के बराबर नहीं है। यह भी फाइल सिस्टम के लिए एक सामान्य इनकोड रिकॉर्ड नहीं है। एक NTFS MFT रिकॉर्ड समान है। इसके POV से, मानक Windows फ़ाइल विशेषताएँ फ़ाइल रिकॉर्ड की एकल विशेषता हैं। लिनक्स फाइल करने के लिए इन अनुरूप के माध्यम से सेट जिम्मेदार बताते हैं chattr, कोई inode वहाँ के बाद से छोड़कर विंडोज एक निर्देशिका विशेषता है।
Eryk Sun

प्रश्न विंडोज में फ़ाइल अनुमतियों को बदलने के लिए "[ई] क्वॉडेंट ऑफ चामोद" के बारे में पूछता है। chmodविंडोज में कोई सीधा समकक्ष नहीं है क्योंकि फ़ाइल "मोड" विशेषता जैसा कुछ भी नहीं है। विंडोज फ़ाइल विशेषताओं के मानक सेट का इससे कोई लेना-देना नहीं है। केवल पढ़ने के लिए विशेषता फ़ाइल अनुमति नहीं है। यह मूल रूप से कहता है कि फ़ाइल पत्थर में लिखी गई है, इसलिए इसे संशोधित करने के सभी प्रयास विफल होने चाहिए। लिनक्स "अपरिवर्तनीय" फ़ाइल विशेषता समान है। विंडोज़ केवल अनुमतियों के लिए ACLs का उपयोग करता है, इसलिए icacls.exe और जैसे अनुमतियों के विषय पर केवल समान आदेश हैं।
इरीक सन

6
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C

डोमेन उपयोगकर्ताओं के लिए फ़ोल्डर पर अनुमतियों को बदलने के लिए एक आकर्षण की तरह काम करता है। के बारे में अतिरिक्त जानकारी caclsऔर icacls


अच्छी पहली पोस्ट! आइकल्स के बारे में कभी नहीं सुना।
slm

5

attribआदेश बहुत बुनियादी बातें (केवल पढ़ने के लिए, संग्रह झंडे) के लिए सबसे निकटतम मिलान है। फिर एसीएल (एक्सेस कंट्रोल लिस्ट) कमांड है cacls। पिछले नहीं बल्कि कम से कम, क्योंकि विंडोज वास्तव में पॉज़िक्स कंप्लेंट है, यूनिक्स जैसे झंडे मौजूद हैं। यदि आप Cygwin टूल सेट को स्थापित करते हैं, तो आपको a chmod। (थोड़ा ऑफ-टॉपिक, जब से आप एक यूनिक्स कमांड के बराबर की तलाश में हैं, Cgygwin को डाउनलोड और इंस्टॉल करना आपके लिए कुछ दिलचस्प हो सकता है।)



2

विंडोज़ में chmod नाम की कोई चीज़ नहीं है क्योंकि विंडोज़ का सुरक्षा मॉडल लिनक्स से अलग है। आप attribऑब्जेक्ट्स के गुणों को बदलने के लिए कमांड का उपयोग कर सकते हैं । (लेकिन वे वैश्विक गुणों की ओर अधिक हैं।)


2

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


1
संदर्भ: सरल और विस्तृत
Bob

0

यदि आप कुछ समान CHMOD का सामना कर रहे हैं (जो कि केवल UNIX / Linux कमांड है, तो फ़ाइल अनुमतियों को बदलने के लिए उपयोग करें) आपको फ़ाइल या फ़ोल्डर पर राइट क्लिक करना होगा, फिर प्रॉपर्टीज और फिर सिक्योरिटीज में जाना होगा।

यदि आप व्यवस्थापक के रूप में लॉग इन करते हैं, तो आप अपने अनुसार फ़ोल्डर या फ़ाइल की अनुमति बदल सकते हैं।

तीन प्रकार की अनुमतियाँ हैं (पढ़ें, लिखें और निष्पादित करें) लिनक्स या UNIX में आप प्रतीक पर देखते हैं जैसे कि पढ़ने के लिए r, लिखने के लिए w और निष्पादन के लिए x लेकिन खिड़कियों में आप पूरे शब्द को देखते हैं।

आप फ़ाइल का स्वामित्व अन्य को भी सौंप सकते हैं।

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