लिनक्स - बदलें अनुमतियां और फ़ाइलों के लिए स्वामित्व और फ़ोल्डर (chmod, chown, सदस्यों, समूहों)
विषयसूची:
chown
का उपयोग कैसे करें- कैसे एक फ़ाइल के मालिक को बदलने के लिए
- किसी फ़ाइल के स्वामी और समूह को कैसे बदलें
- फ़ाइल के समूह को कैसे बदलें
- प्रतीकात्मक लिंक स्वामित्व को कैसे बदलें
- कैसे Recursively फ़ाइल स्वामित्व को बदलने के लिए
- एक संदर्भ फ़ाइल का उपयोग करना
- निष्कर्ष
chown
कमांड आपको किसी दिए गए फ़ाइल, निर्देशिका या प्रतीकात्मक लिंक के उपयोगकर्ता और / या समूह के स्वामित्व को बदलने की अनुमति देता है।
लिनक्स में, सभी फाइलें एक मालिक और एक समूह से जुड़ी होती हैं और फाइल मालिक, समूह के सदस्यों और अन्य लोगों के लिए अनुमति के अधिकार के साथ असाइन की जाती हैं।
इस ट्यूटोरियल में, हम आपको दिखाएंगे कि व्यावहारिक उदाहरणों के माध्यम से
chown
कमांड का उपयोग कैसे करें।
chown
का उपयोग कैसे करें
chown
कमांड का उपयोग करने के तरीके में जाने से पहले, आइए मूल सिंटैक्स की समीक्षा करके शुरू करें।
chown
कमांड एक्सप्रेशन निम्न रूप लेता है:
chown USER FILE(s)
USER
नए मालिक का उपयोगकर्ता नाम या उपयोगकर्ता ID (UID) है।
GROUP
नए ग्रुप या ग्रुप आईडी (GID) का नाम है।
FILE(s)
एक या अधिक फ़ाइलों, निर्देशिकाओं या लिंक का नाम है। सांख्यिक आईडी को
+
प्रतीक के साथ उपसर्ग किया जाना चाहिए।
-
USER
- यदि केवल उपयोगकर्ता निर्दिष्ट किया गया है, तो निर्दिष्ट उपयोगकर्ता दी गई फ़ाइलों का स्वामी बन जाएगा, समूह का स्वामित्व नहीं बदला गया है।USER:
- जबUSER:
बाद उपयोगकर्ता नाम आता है:
और समूह का नाम नहीं दिया जाता है, तो उपयोगकर्ता फाइलों का मालिक बन जाएगा, और फ़ाइलों का समूह स्वामित्व उपयोगकर्ता के लॉगिन समूह में बदल जाता है।USER:GROUP
- यदि उपयोगकर्ता और समूह दोनों को निर्दिष्ट किया गया है (कोई स्थान नहीं है, तो उन्हें दिया गया है), फ़ाइलों का उपयोगकर्ता स्वामित्व दिए गए उपयोगकर्ता में बदल जाता है और समूह का स्वामित्व दिए गए समूह में बदल जाता है।:GROUP
- यदि उपयोगकर्ता को छोड़ दिया जाता है और समूह को एक उपनिवेश के साथ उपसर्ग किया जाता है:
केवल फाइलों के समूह के स्वामित्व को दिए गए समूह में बदल दिया जाता है।:
यदि केवल एक बृहदान्त्र दिया जाता है:
उपयोगकर्ता और समूह को निर्दिष्ट किए बिना, कोई परिवर्तन नहीं किया जाता है।
डिफ़ॉल्ट रूप से, सफलता पर,
chown
किसी भी आउटपुट का उत्पादन नहीं करता है और शून्य देता है।
फ़ाइल का मालिक कौन है या फ़ाइल किस समूह की है, यह जानने के लिए
ls -l
कमांड का उपयोग करें:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner
केवल
sudo
विशेषाधिकार वाले रूट या उपयोगकर्ता किसी फ़ाइल के समूह स्वामित्व को बदल सकते हैं।
कैसे एक फ़ाइल के मालिक को बदलने के लिए
किसी फ़ाइल के स्वामी को बदलने के लिए नए स्वामी के उपयोगकर्ता नाम और उसके बाद लक्ष्य फ़ाइल को तर्क के रूप में उपयोग करें:
chown USER FILE
उदाहरण के लिए, निम्न आदेश
linuxize
नामक एक नए स्वामी के लिए
file1
नामक फ़ाइल के स्वामित्व को बदल
linuxize
:
chown linuxize file1
कई फ़ाइलों या निर्देशिकाओं के स्वामित्व को बदलने के लिए, उन्हें अंतरिक्ष-पृथक सूची के रूप में निर्दिष्ट करें। नीचे दिए गए आदेश में फ़ाइल नाम की फ़ाइल का स्वामित्व बदल जाता है और
linuxize
नाम के एक नए मालिक को निर्देशिका
linuxize
:
chown linuxize file1 dir1
उपयोगकर्ता नाम के बजाय संख्यात्मक उपयोगकर्ता आईडी (UID) का उपयोग किया जा सकता है। निम्नलिखित उदाहरण
1000
यूआईडी के साथ एक नए मालिक को
file2
नामक फ़ाइल के स्वामित्व को बदल देगा:
chown 1000 file2
यदि कोई संख्यात्मक स्वामी उपयोगकर्ता नाम के रूप में मौजूद है, तो स्वामित्व उपयोगकर्ता नाम में स्थानांतरित कर दिया जाएगा। इस आईडी के साथ उपसर्ग से बचने के लिए:
किसी फ़ाइल के स्वामी और समूह को कैसे बदलें
किसी फ़ाइल के स्वामी और समूह दोनों को बदलने के लिए, नए स्वामी और उसके बाद कोलन (:) द्वारा अलग किए गए
chown
कमांड का उपयोग करें जिसमें कोई हस्तक्षेप करने वाला स्थान और लक्ष्य फ़ाइल न हो।
chown USER:GROUP FILE
निम्न आदेश
linuxize
और समूह
users
नाम के एक नए मालिक को
file1
नामक फ़ाइल के स्वामित्व को बदल देगा:
chown linuxize:users file1
यदि आप कॉलोन के बाद समूह का नाम छोड़ देते हैं (:) फ़ाइल का समूह निर्दिष्ट उपयोगकर्ता के लॉगिन समूह में बदल जाता है:
फ़ाइल के समूह को कैसे बदलें
फ़ाइल के केवल समूह को बदलने के लिए कॉलन कमांड का उपयोग करें जिसके बाद एक कॉलन (
chown
और नया समूह नाम (उनके बीच कोई स्थान नहीं है) और एक तर्क के रूप में लक्ष्य फ़ाइल:
chown:GROUP FILE
निम्न आदेश एक फ़ाइल के मालिक समूह को
file1
नामक
www-data
:
chown:www-data file1
एक अन्य कमांड जिसे आप फ़ाइलों के समूह स्वामित्व को बदलने के लिए उपयोग कर सकते हैं वह है
chgrp
।
प्रतीकात्मक लिंक स्वामित्व को कैसे बदलें
जब पुनरावर्ती विकल्प का उपयोग नहीं किया जाता है, तो
chown
कमांड फाइलों के समूह के स्वामित्व को बदल देता है, जिसके लिए सहानुभूति इंगित करती है, न कि प्रतीकात्मक लिंक।
उदाहरण के लिए, यदि आप स्वामी और प्रतीकात्मक लिंक
symlink1
के समूह को बदलने का प्रयास करते हैं, जो
/var/www/file1
को इंगित करता है, तो
chown
फ़ाइल के स्वामित्व को बदल देगा या सहानुभूति बिंदुओं को निर्देशिका में बदल देगा:
chown www-data: symlink1
संभावना है कि लक्ष्य के स्वामित्व को बदलने के बजाय, आपको "सिम्लिंक 1 नहीं कर सकते": अनुमति अस्वीकार की गई "त्रुटि"।
त्रुटि तब होती है क्योंकि अधिकांश लिनक्स वितरणों पर डिफ़ॉल्ट रूप से सिमिलिंक सुरक्षित होते हैं, और आप लक्ष्य फ़ाइलों पर काम नहीं कर सकते। यह विकल्प
/proc/sys/fs/protected_symlinks
में निर्दिष्ट
/proc/sys/fs/protected_symlinks
।
1
मतलब सक्षम और
0
विकलांग है। हम अनुशंसा करते हैं कि सिमलिंक सुरक्षा को अक्षम न करें।
सिमलिंक के समूह स्वामित्व को बदलने के लिए,
-h
विकल्प का उपयोग करें:
कैसे Recursively फ़ाइल स्वामित्व को बदलने के लिए
दिए गए निर्देशिका के तहत सभी फ़ाइलों और निर्देशिकाओं पर पुनरावर्ती कार्य करने के लिए,
-R
(
--recursive
) विकल्प का उपयोग करें:
chown -R USER:GROUP DIRECTORY
निम्न उदाहरण
/var/www
निर्देशिका के तहत सभी फ़ाइलों और उपनिर्देशिकाओं के स्वामित्व को
www-data
नाम के एक नए मालिक और समूह में बदल देगा:
chown -R www-data: /var/www
यदि निर्देशिका में प्रतीकात्मक लिंक शामिल हैं
-h
विकल्प:
chown -hR www-data: /var/www
अन्य विकल्पों का उपयोग किया जा सकता है जब निर्देशिका के स्वामित्व को पुनरावर्ती रूप से बदल रहे हैं
-H
और
-L
।
यदि कमांड को
chown
करने के लिए दिया गया तर्क एक सांकेतिक लिंक है जो किसी डायरेक्टरी की ओर
-H
, तो
-H
ऑप्शन कमांड को
-H
करने का कारण बनेगा।
-L
बताता है कि प्रत्येक प्रतीकात्मक लिंक का सामना करने वाली निर्देशिका को
chown
करने के लिए। आमतौर पर, आपको इन विकल्पों का उपयोग नहीं करना चाहिए क्योंकि आप अपने सिस्टम को गड़बड़ कर सकते हैं या सुरक्षा जोखिम पैदा कर सकते हैं।
एक संदर्भ फ़ाइल का उपयोग करना
--reference=ref_file
विकल्प आपको दी गई फ़ाइलों के उपयोगकर्ता और समूह के स्वामित्व को निर्दिष्ट संदर्भ फ़ाइल (
ref_file
) के समान होने की अनुमति देता है। यदि संदर्भ फ़ाइल एक प्रतीकात्मक लिंक है, तो
chown
उपयोगकर्ता और लक्ष्य फ़ाइल के समूह का उपयोग करेगा।
chown --reference=REF_FILE FILE
उदाहरण के लिए, निम्न कमांड
file1
के उपयोगकर्ता और समूह के स्वामित्व को
file2
असाइन करेगा
निष्कर्ष
फ़ाइल के उपयोगकर्ता और / या समूह के स्वामित्व को बदलने के लिए
chown
एक Linux / UNIX कमांड-लाइन उपयोगिता है।
chown
कमांड के बारे में अधिक जानने के लिए chown man पेज पर जाएं या अपने टर्मिनल में
man chown
टाइप करें।
कमांड लाइन के साथ कमांड लाइन को जब्त करें

कमांड प्रॉम्प्ट, जीयूआई, और शक्तिशाली ले लो कमांड टूलकिट के साथ एक शक्तिशाली बैच भाषा को एकीकृत करें।
विंडोज़ 10/8/7

Windows ऑपरेटिंग सिस्टम में
कैसे bash में लाइन द्वारा एक फ़ाइल लाइन पढ़ने के लिए

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