कमांड लाइन से फाइलों का स्वामित्व कैसे लें?


34

हर बार मैं एक ऐसी फाइल में भाग लेता हूं, जिसका मुझे स्वामित्व लेना चाहिए। मैं आमतौर पर caclsntfs अनुमतियों को बदलने के लिए उपयोग करता हूं , लेकिन यह स्वामित्व नहीं लगता है। * निक्स के तहत मैं कुछ इस तरह से चलाऊंगा chown me:me <file>। वहाँ एक खिड़कियों के बराबर है chown?


बहुत बुरी सेटलैक ऊपर की स्क्रिप्ट के साथ काम नहीं कर रही है। Win XP, 7 और 8 पर गलतफहमी और आपको इसे खोजने के लिए क्या करने की ज़रूरत है, इसके बारे में जानने की जरूरत है

जवाबों:


25

सबिनैकल स्वामित्व और एसीएल के साथ सब कुछ करने के लिए एक विंडोज सिसडमिन का बिजली उपकरण है। आप केवल अपने अलावा किसी और को स्वामित्व बदल सकते हैं ( आप GUI के साथ ऐसा नहीं कर सकते )।

subinacl /file test.txt /setowner=domain\foo

यह आपको एक प्रशासक होने के बिना किसी भी उपयोगकर्ता की अनुमति देने की अनुमति देता है (जैसा कि मुझे लगता है कि टेकऑन। Exe की आवश्यकता है)।


Windows XP के लिए मान्य नहीं है क्या मैं SUBINACL.exe (Windows 2003 संसाधन किट) डाउनलोड कर सकता हूं और इसे Windows XP में उपयोग कर सकता हूं?
किकेनेट

सुनिश्चित करें कि आप कर सकते हैं! शायद यहीं से मुझे यह मिल गया। यहाँ कोशिश करो ।
crb

26

आप "TAKEOWN.EXE" की तलाश कर रहे हैं, जो पहली बार विंडोज सर्वर 2003 में एक मानक घटक के रूप में था, और मेरा मानना ​​है कि पहले एक संसाधन-किट आइटम था। यह विंडोज 7, और शायद नए सिस्टम पर उपलब्ध है।

takeown /f <some-file-or-folder> /r

/rनिर्दिष्ट फ़ोल्डर के सभी बच्चों पर पुनरावर्ती ऑपरेशन करता है। इसके विपरीत subinacl, आपको उस उपयोगकर्ता के रूप में लॉग इन करना होगा जिसे आप स्वामित्व लेना चाहते हैं; या, आप बस "व्यवस्थापकों" समूह को स्वामित्व प्रदान कर सकते हैं।

यहाँ इसके दस्तावेज की एक प्रति है, जैसा कि SS64 पर संरक्षित है :

सिंटैक्स TAKEOWN [/ s कंप्यूटर [/ u [डोमेन] UserName [/ p [पासवर्ड]]]] / f FileName [/ a] [/ r [/ d [Y | N}]] |

कुंजी / कंप्यूटर एक दूरस्थ कंप्यूटर का नाम या आईपी पता (बैकस्लैश का उपयोग न करें)। डिफ़ॉल्ट = स्थानीय कंप्यूटर। यह पैरामीटर कमांड में निर्दिष्ट सभी फ़ाइलों और फ़ोल्डरों पर लागू होता है।

/ u [डोमेन] उपयोगकर्ता नाम निर्दिष्ट उपयोगकर्ता खाते की अनुमतियों के साथ स्क्रिप्ट चलाएँ। डिफ़ॉल्ट = सिस्टम अनुमतियाँ।

/ p [पासवर्ड] उस उपयोगकर्ता खाते का पासवर्ड जिसे / u पैरामीटर में निर्दिष्ट किया गया है।

/ f फ़ाइल का नाम फ़ाइल नाम, UNC पथ या निर्देशिका नाम पैटर्न। वाइल्डकार्ड वर्ण * को स्वीकार करता है

/ वर्तमान उपयोगकर्ता के बजाय व्यवस्थापक समूह को स्वामित्व दें।

/ r निर्दिष्ट निर्देशिका और उपनिर्देशिकाओं में सभी फाइलों पर एक पुनरावर्ती ऑपरेशन करें।

/ डी {वाई | N} उस पुष्टि संकेत को दबाएं, जो तब दिखाया जाता है जब वर्तमान उपयोगकर्ता के पास किसी निर्दिष्ट निर्देशिका पर "सूची फ़ोल्डर" की अनुमति नहीं है, और इसके बजाय एक डिफ़ॉल्ट मान का उपयोग करें: Y: निर्देशिका का स्वामित्व लें। N: निर्देशिका छोड़ें। ध्यान दें कि आपको / r विकल्प के साथ संयोजन में इस विकल्प का उपयोग करना चाहिए। यदि / एक पैरामीटर निर्दिष्ट नहीं है, तो फ़ाइल स्वामित्व उस उपयोगकर्ता को दिया जाता है जो वर्तमान में कंप्यूटर पर लॉग ऑन है।

मिश्रित पैटर्न का उपयोग कर (और *) टेकऑन कमांड द्वारा समर्थित नहीं हैं।

फ़ाइल / फ़ोल्डर के लिए स्वामी को बदलने के बाद, आप फिर फ़ाइलों को पूर्ण अनुमति दे सकते हैं और बाद में उन्हें पढ़ सकते हैं या हटा सकते हैं।


सेवानिवृत्त सामग्री microsoft.com/en-US/download/details.aspx?id=53314
Kiquenet

SS64 के पास एक बेहतर प्रलेखन लिंक है: ss64.com/nt/takeown.html
jpaugh

17

फ़ोल्डर और अंदर सब कुछ का स्वामित्व और पूर्ण अधिकार लें:

takeown /F somedir /A /R
icacls somedir /grant:r User:F /T

प्रशासक के रूप में कमांड प्रॉम्प्ट शुरू करना सुनिश्चित करें !

मुझे एक प्रशासक के रूप में कमांड प्रॉम्प्ट शुरू करना था, इसने विंडोज 8.1 में मेरे लिए काम किया। विंडोज 8.1 अजीबता के साथ, मुझे "कमांड" की खोज करनी थी, कमांड प्रॉम्प्ट आइकन पर राइट क्लिक करें। मेरे लिए "व्यवस्थापक के रूप में चलाएं" विकल्प को देखने के लिए। मेरे पास एक कमांड प्रॉम्प्ट था जो मेरे टास्कबार को पिन किया गया था, लेकिन उस पर राइट क्लिक करने पर "रन एडमिनिस्ट्रेटर" विकल्प नहीं दिखेगा।

विंडोज 10 में, "रन के रूप में प्रशासक" आपको राइट क्लिक विकल्प के रूप में उपलब्ध होना चाहिए।

टेकओन सिंटैक्स :

takeown [/s <Computer> [/u [<Domain>\]<User name> [/p [<Password>]]]] /f <File name> [/a] [/r [/d {Y|N}]]

संदर्भ लें

इकाल्क्स सिंटेक्स :

icacls <FileName>[/GRANT [: r] <Sid>: <Perm> [...]] [/ Denegar <Sid>: <Perm> [...]] [/Remove [:g|:d]] <Sid> [...]] [/ t] [/ c] [/ l] [/ q] [/ setintegritylevel <Level>: <Policy> [...]]Icacls <Directory>[/ sustituir <SidOld><SidNew>[...]] [/ restore <ACLfile>[/ c] [/ l] [/q]]

icacls संदर्भ


1
ध्यान रखें कि icacls लंबे पथ के नामों पर चुटकी लेते हैं। त्रुटि संदेश "फ़ाइल नहीं मिली" थोड़ा भ्रामक है, बदतर icalcs गर्भपात बिना संदेश के बाकी पेड़ को संसाधित करता है। आप कभी-कभी इसके चारों ओर काम करने के लिए पेड़ में एक गहरी मात्रा बनाने की चाल का उपयोग कर सकते हैं। Takeown.exe लंबे नामों को सहन करता है।
एंड्रयू डेनिसन

विंडोज एक्सपी के
किकेनेट

8

मुझे पता है कि यह वास्तव में पुरानी पोस्ट है, लेकिन विंडोज 7 और नए में बनाया गया एक तरीका है (विंडोज विस्टा में हो सकता है, लेकिन मुझे यकीन नहीं है)। उस फ़ोल्डर में एक उन्नत कमांड प्रॉम्प्ट से निम्नलिखित को चलाएँ जिसे आप रीसेट करना चाहते हैं। ऑपरेशन को दोबारा करने के लिए /tकहता icaclsहै।

icacls .\* /setowner %UserDomain%\%UserName% /t
icacls .\* /reset /t

पहला कमांड मालिक को रीसेट करता है जो कभी भी पर्यावरण चर के माध्यम से लॉग ऑन होता है। बेशक, इसके बजाय एक विशिष्ट नाम का उपयोग किया जा सकता है।

दूसरा आदेश तब अनुमति देता है कि वह पेड़ को सभी चाइल्ड फोल्डर और फाइलों को फिर से पेड़ पर लगा दे।

आशा है कि यह भविष्य में किसी की मदद करेगा।


मेरे लिए पहला आदेश पर्याप्त था।
बेनोइट ब्लांचन

6

आप SetACL , अनुमति प्रबंधन के स्विस सेना चाकू पर एक नज़र रखना चाहते हो सकता है । यहाँ एक उदाहरण है कि ड्राइव C पर सभी फ़ाइलों के स्वामित्व को कैसे निर्दिष्ट किया जाए: "व्यवस्थापकों" को और एक ही बार में सभी बाल वस्तुओं से विरासत के संरक्षण को हटा दें:

SetACL.exe -on "C:\\" -ot file -actn setprot
           -op "dacl:np;sacl:nc"
           -rec cont_obj
           -actn setowner -ownr "n:S-1-5-32-544;s:y"

आप भी जोड़ सकते हैं -silent


3

Windows Server 2003 R2 (और बाद में) में आप कमांड लाइन से स्वामित्व बदलने के लिए अंतर्निहित टूल icacls.exe का लाभ ले सकते हैं , साथ ही सभी पारंपरिक cacls..exe जोड़तोड़ जिस पर यह फैलता है ...

ध्यान दें कि icacls.exe "एडिट" मोड में डिफॉल्ट करता है, जबकि cacls.exe डिफॉल्ट को "रिप्लेस" मोड में करता है - हम में से उन लोगों के लिए एक स्वागत योग्य परिवर्तन (जो एक से अधिक बार) कैकल्स की उस छोटी सी बारीकियों द्वारा काट दिया गया!


icacls अच्छा है क्योंकि यह विंडोज़ के हाल के संस्करणों में शामिल है और किसी भी उपयोगकर्ता को स्वामित्व प्रदान करने की अनुमति देता है।
डेविड


1

एक अन्य विकल्प है फिल्क्ले। यह छोटा है और अधिकांश खिड़कियों के विपरीत, ऑब्जेक्ट पर "इनहेरिट / इनहेरिट" ध्वज को सेट / अनसेट नहीं कर सकता है।


0

मुझे विंडोज टूल्स का उपयोग करके एक समाधान मिला है: cacls

cacls <file or directory> /E /T /G <user>:F

0
  1. व्यवस्थापक उपयोगकर्ता के रूप में ओपन कमांड प्रॉम्प्ट और समस्याग्रस्त निर्देशिका में परिवर्तन
  2. वहां सभी फाइलों का स्वामित्व लें ... उदाहरण: takeown /f *.jpg
  3. अपनी पसंद के उपयोगकर्ताओं को एक्सेस अधिकार प्रदान करें ... उदाहरण: icacls *.jpg /grant "Everyone":F(ध्यान दें कि गैर-अंग्रेजी विंडोज में "हर कोई" मौजूद नहीं हो सकता है, उदाहरण के लिए जर्मन विंडोज में यह केवल "जेडर" के साथ काम करता है - वास्तविक बमर कि विंडोज कमांड विकल्पों का अनुवाद करता है!)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.