आप अंतर्निहित iCACLS . का उपयोग कर सकते हैं विंडोज़ पर एनटीएफएस अनुमतियों को प्रबंधित करने के लिए उपकरण। icacls.exe
कमांड लाइन टूल आपको एनटीएफएस फाइल सिस्टम पर फाइलों और फ़ोल्डरों के लिए एक्सेस कंट्रोल लिस्ट (एसीएल) प्राप्त करने या बदलने की अनुमति देता है। इस लेख में, हम विंडोज़ पर iCACLS के साथ NTFS अनुमतियों के प्रबंधन के लिए उपयोगी कमांड देखेंगे।
सामग्री:
- फ़ाइल और फ़ोल्डर अनुमतियां देखने और सेट करने के लिए iCACLS का उपयोग करना
- NTFS अनुमतियों का बैकअप (निर्यात) कैसे करें?
- iCacls के साथ NTFS अनुमतियों को कैसे पुनर्स्थापित करें?
- NTFS अनुमतियों को डिफ़ॉल्ट पर रीसेट करना
- NTFS अनुमतियों को एक फ़ोल्डर से दूसरे फ़ोल्डर में कॉपी करना
फ़ाइल और फ़ोल्डर अनुमतियां देखने और सेट करने के लिए iCACLS का उपयोग करना
NTFS वॉल्यूम पर किसी ऑब्जेक्ट के लिए वर्तमान एक्सेस अनुमतियों को निम्नानुसार प्रदर्शित किया जा सकता है:
icacls 'C:\Share\Veteran\'
कमांड उन उपयोगकर्ताओं और समूहों की सूची लौटाएगा जिन्हें एक्सेस अनुमतियां सौंपी गई हैं। संक्षिप्ताक्षरों का उपयोग करके अनुमतियाँ निर्दिष्ट की जाती हैं:
- एफ - पूर्ण पहुंच
- एम - पहुंच संशोधित करें
- RX - पहुंच पढ़ें और निष्पादित करें
- आर - केवल पढ़ने के लिए पहुंच
- डब्ल्यू -केवल-लिखने की पहुंच
- डी - हटाएं
एक्सेस अनुमतियों से पहले वंशानुक्रम अधिकार निर्दिष्ट हैं (विरासत अनुमतियाँ केवल फ़ोल्डरों पर लागू होती हैं):
- (OI) - वस्तु विरासत में मिली
- (सीआई) - कंटेनर इनहेरिट करता है
- (आईओ) - केवल इनहेरिट करें
- (I) - पैरेंट कंटेनर से इनहेरिट करने की अनुमति
icacls से आप फ़ोल्डर अनुमतियां बदल सकते हैं।
“संसाधन\mun-fs01_Auditors . प्रदान करने के लिए फ़ोल्डर पर समूह पढ़ें और निष्पादित करें (RX) अनुमतियाँ:
icacls 'C:\Share\Veteran\' /grant resource\mun-fs01_Auditors:RX
किसी समूह को निर्देशिका ACL से निकालने के लिए:
icacls 'C:\Share\Veteran\' /remove resource\mun-fs01_Auditors
icacls के साथ आप मूल फ़ोल्डर से NTFS अनुमतियाँ इनहेरिटेंस को सक्षम कर सकते हैं:
icacls 'C:\Share\Veteran\' /inheritance:e
या सभी इनहेरिट किए गए ACE को हटाकर इनहेरिटेंस को अक्षम करें:
icacls 'C:\Share\Veteran\' /inheritance:r
आप किसी फ़ाइल या फ़ोल्डर का स्वामित्व बदलने के लिए icacls.exe का उपयोग कर सकते हैं
icacls 'C:\Share\Veteran\' /setowner resource\j.smith /T /C /L /Q
NTFS फोल्डर का बैकअप (निर्यात) कैसे करें?
NTFS फ़ोल्डर (या साझा नेटवर्क फ़ोल्डर) पर अनुमतियों (स्थानांतरित करें, ACL को अपडेट करें, संसाधनों को माइग्रेट करें) में महत्वपूर्ण परिवर्तन करने से पहले, पुरानी अनुमतियों का बैकअप लेने की सलाह दी जाती है। यह प्रति आपको मूल सेटिंग्स पर लौटने की अनुमति देगी, या कम से कम किसी विशिष्ट फ़ाइल/निर्देशिका के लिए पुरानी अनुमतियों को स्पष्ट करेगी।
आप वर्तमान NTFS निर्देशिका अनुमतियों को निर्यात/आयात करने के लिए icacls.exe उपकरण का उपयोग कर सकते हैं। एक विशिष्ट फ़ोल्डर (उप-निर्देशिकाओं और फाइलों सहित) के लिए सभी एसीएल प्राप्त करने के लिए, और उन्हें एक टेक्स्ट फ़ाइल में निर्यात करने के लिए, निम्न आदेश चलाएं:
icacls g:\veteran /save c:\backup\veteran_ntfs_perms.txt /t /c
फ़ाइलों और फ़ोल्डरों की संख्या के आधार पर, अनुमतियों के निर्यात में काफी लंबा समय लग सकता है। कमांड निष्पादित होने के बाद, फाइलों के सफल या असफल प्रसंस्करण की संख्या के आंकड़े प्रदर्शित किए जाएंगे।
Successfully processed 3001 files; Failed processing 0 files
फ़ाइल खोलें वयोवृद्ध_ntfs_perms.tx टी किसी भी पाठ संपादक का उपयोग कर। जैसा कि आप देख सकते हैं, इसमें निर्देशिका में फ़ाइलों और फ़ोल्डरों की पूरी सूची है, और प्रत्येक आइटम में SDDL में निर्दिष्ट वर्तमान अनुमतियां हैं। (सुरक्षा विवरणक परिभाषा भाषा) प्रारूप।
उदाहरण के लिए, फ़ोल्डर रूट के लिए वर्तमान NTFS अनुमतियाँ इस प्रकार हैं:
D:PAI(A;OICI;FA;;;BA)(A;OICIIO;FA;;;CO)(A;OICI;0x1200a9;;;S-1-5-21-2340243621-32346796122-2349433313-23777994)(A;OICI;0x1301bf;;;S-1-5-21-2340243621-32346796122-2349433313-23777993)(A;OICI;FA;;;SY)(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)S:AI
यह स्ट्रिंग कुछ समूहों या उपयोगकर्ताओं के लिए एक्सेस का वर्णन करती है। हम एसडीडीएल सिंटैक्स पर विस्तार से विचार नहीं करेंगे (एसडीडीएल प्रारूप पर "विंडोज़ में सेवा अनुमतियों को कैसे देखें और संशोधित करें?" लेख में संक्षेप में चर्चा की गई थी)। आइए केवल एक ऑब्जेक्ट का चयन करके SDDL के एक छोटे से टुकड़े पर ध्यान दें:
(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)
ए - एक्सेस प्रकार (अनुमति दें)
ओआईसीआई - इनहेरिटेंस फ्लैग (ऑब्जेक्ट इनहेरिट+ कंटेनर इनहेरिट)
एफए - अनुमति प्रकार (SDDL_FILE_ALL - सभी की अनुमति है)
S-1-5-21-2340243621-32346796122-2349433313-24109193 - खाते या डोमेन समूह का SID जिसके लिए अनुमतियाँ सेट की गई हैं। SID को खाते या समूह के नाम में बदलने के लिए, निम्न PowerShell आदेश का उपयोग करें:
$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2340243621-32346796122-2349433313-24109193")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value
या किसी एक कमांड का उपयोग करें:Get-ADUser -Identity SID
याGet-ADGroup -Identity SID
इस प्रकार, आपने पाया है कि उपयोगकर्ता corp\dvivar के पास इस निर्देशिका पर पूर्ण नियंत्रण अनुमतियाँ थीं।
iCacls के साथ NTFS अनुमतियों को कैसे पुनर्स्थापित करें?
आप पहले बनाए गए वयोवृद्ध_ntfs_perms.txt फ़ाइल का उपयोग करके किसी फ़ोल्डर पर NTFS अनुमतियों को पुनर्स्थापित कर सकते हैं। ACL बैकअप फ़ाइल में मान के अनुसार निर्देशिका में ऑब्जेक्ट्स पर NTFS अनुमतियाँ सेट करने के लिए, यह कमांड चलाएँ:
icacls g:\ /restore c:\backup\veteran_ntfs_perms.txt /t /c
सभी अनुमतियों को पुनर्प्राप्त करने के बाद, संसाधित फ़ाइलों की संख्या के आंकड़े भी प्रदर्शित किए जाएंगे।
ध्यान दें कि बैकअप ACL फ़ाइल में सापेक्ष, निरपेक्ष नहीं, फ़ाइल पथ होते हैं। इसका मतलब है कि आप किसी फ़ोल्डर को किसी भिन्न ड्राइव/निर्देशिका में ले जाने के बाद भी अनुमतियों को पुनर्स्थापित कर सकते हैं।
NTFS अनुमतियों को डिफ़ॉल्ट पर रीसेट करना
आप फ़ोल्डर अनुमतियों (साथ ही नेस्टेड फ़ाइलों और उप-निर्देशिकाओं) को रीसेट करने के लिए icacls टूल का उपयोग कर सकते हैं।
icacls C:\share\veteran /reset /T /Q /C
यह आदेश निर्दिष्ट ऑब्जेक्ट के लिए इनहेरिट की गई NTFS अनुमतियों को सक्षम करेगा, और किसी भी अन्य ACL को हटा देगा।
NTFS अनुमतियों को एक फ़ोल्डर से दूसरे फ़ोल्डर में कॉपी करना
आप NTFS अनुमतियों को एक निर्देशिका से दूसरी निर्देशिका में कॉपी करने के लिए ACL बैकअप वाली टेक्स्ट फ़ाइल का उपयोग कर सकते हैं।
सबसे पहले, स्रोत फ़ोल्डर की NTFS अनुमतियों का बैकअप लें:
icacls 'C:\Share\Veteran' /save C:\PS\save_ntfs_perms.txt /c
और फिर सहेजे गए ACL को लक्ष्य फ़ोल्डर में लागू करें:
icacls D:\Share /restore C:\PS\save_ntfs_perms.txt /c
यह तब काम करेगा जब सोर्स और डेस्टिनेशन फोल्डर का नाम एक जैसा होगा। क्या होगा यदि लक्ष्य फ़ोल्डर का नाम अलग है? उदाहरण के लिए, आपको NTFS अनुमतियों को D:\PublicDOCS फ़ोल्डर में कॉपी करने की आवश्यकता है।
सबसे आसान तरीका है save_ntfs_perms.txt . को खोलना नोटपैड में फ़ाइल करें और फ़ोल्डर का नाम संपादित करें। अनुभवी . को बदलने के लिए बदलें फ़ंक्शन का उपयोग करें PublicDOCS . के साथ नाम ।
फिर फ़ाइल से NTFS अनुमतियाँ आयात करें और उन्हें लक्ष्य फ़ोल्डर में लागू करें:
icacls D:\ /restore C:\PS\save_ntfs_perms.txt /c
Get-Acl -Path 'C:\Share\Veteran' | Set-Acl -Path 'E:\PublicDOCS'