If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
अगर आप Linux use करते हैं तो , definitely आपने files को permission देने के लिए chmod 756
इस तरह से जरूर कुछ लिखा होगा। तो आखिर में इसका concept क्या है और कितनी तरह से हम Linux में किसी file को permission दे सकते हैं। ये सब इस blog में आप सीखेंगे।
तो जैसा कि आपको पता है Linux multi-user concept पर work करता है , जिसका मतलब है different - different लोग same machine को use कर सकते हैं। या कोई single user , same machine का use करके different - different Jobs कर सकता है। जहाँ पर हमें file permissions की जरूरत पड़ीं।
Files की ownership और permissions का concept Linux ने UNIX
और MINUX
से inherit किया है , जो कि इसलिए था क्योंकि Linux को एक तरह से networked system के रूप में convene किया था जहां पर different - different के लोग different - different programs और files use रहे होंगे। और ऐसे में चीजों को organized और secure बनाने की जरूरत थी। क्योंकि कोई भी नहीं चाहता है कि कोई भी normal user किसी program का use करके पूरे system को trash
कर दे।
Linux में normally 3 types के users होते हैं जिनके लिए हम permissions set करते हैं। और वो हैं -
Owner
Group
World
और जब भी हम किसी file / directory की permission set करते हैं तो इन तीनो तरह के users के लिए करते हैं।
आगे बढ़ने से पहले हम File permission symbols के बारे में जान लेते हैं , ऐसा करने के लिए हम एक simple txt file बना लेते हैं।
touch example.txt
इसके बाद file / directory के permission symbols देखने के लिए नीचे दी गयी command को fire करें।
ls -l
Command run करने पर , आप कुछ तरह से output देखेंगे -
-rw-r--r-- 1 root root 0 Sep 26 03:23 example.txt
जिसका मतलब है (right तो left) : example.txt
file का name है जो Sep 26 03:23 को create की गयी है , 0 byte
file का size है। इसके बाद दो बार root , root
लिखा है जिसमे पहले root का मतलब है इस file को root user own करता है , और दुसरे root का मतलब है कि root user group "root"
में है। और एक single file है , जैसा कि आप देख सकते हैं कि 1 लिखा हुआ है।
अब बात करते है -rw-r--r--
(left to right) की , इसमें permission को hyphen - से 3 part में divide किया गया है। rw
से पहले hyphen -
का मतलब है की यह एक normal file है जिसमे कुछ भो content हो सकता है या hyphen की जगह simply d
भी सकता है।
rw
का मतलब है कि root user , यह permission owner के लिए है। means इस file को owner read और write कर सकता है।
इसके बाद दुसरे part में single hyphen -
के बाद r
लिखा , जो कि किसी group के लिए permission दी गयी है। Linux file access के लिए different types के groups को establish कर सकता है। एक home computer environment में जो भी computer use करेगा वो इस file को read कर सकता है लेकिन modify / write
नहीं कर सकता है।
फिर दो hyphen --
के बाद r
, overall user permissions जो कि other user (World) के लिए होती है। यह double hyphen इसलिए हैं क्योंकि group के लिए सिर्फ read permission है। मतलब कोई भी जिसके पास computer का access अंदर या बाहर (In Network) से होगा वो इस file को read
कर सकता है।
तो अब आपके थोड़ा सा समझ आया होगा कि , Linux में file / directory permission का जो order है वो Owner - Group - World के रूप में होता है। और permission में use होने वाले symbols कौन कौन से होते हैं। हालाँकि सिर्फ rw
ही नहीं और भी permission symbols होते हैं जिन्हे हम एक और example से समझेंगे।
अब एक और example देखते हैं , मेरी directory में एक tests
name से directory बनी हुई है जिसके अंदर executable files हैं , उसके लिए permissions कुछ प्रकार हैं।
drwxr-xr-x 2 root root 1024 Sep 26 2022 tests
तो जैसा कि आप देख सकते हैं कि बाकी का logic तो same ही है , बस कुछ symbols को छोड़कर। अब चूंकि यह एक directory है इसलिए starting में d
लिखा है , directory के अंदर executable file है इसलिए x
लिखा हुआ है। तीनो जगह पर x
है जिसका मतलब है कि file को कोई भी execute कर सकता है।
rwxr
: owner file को read , write execute कर सकता है।
xr
: मतलब group root file को execute और read कर सकता है।
r
: और r तो other user के लिए read only permission दे रहा है।
तो अब शायद आपके थोड़ा सा समझ आया होगा कि Linux में 3 type के users होते हैं और 3 types की ही permissions होती है।
read
write
execute
ये permissions set करने के लिए syntax कुछ इस तरह से है -
COMMAND : OWNER : GROUP : WORLD : PATH
For Example :
chmod 644 myfile.txt
अब आप सोच रहे होंगे कि ये numbers कहा से आ गए तो, permissions के लिए हम numbers use करते हैं जो 1 - 7
तक होता है। read , write or execute की permission देने के लिए आपको इन्ही numbers की जरूरत पड़ेगी , हालाँकि इनका मतलब क्या होता है वो नीचे देखकर आप समझ सकते हैं।
4 : r (read)
2 : w (write)
1 : x (execute)
That's it , बस इन्ही numbers को हम अपनी need के according लिखकर किसी file को permission देते हैं। जैसे -
chmod 400 myfile.txt read by owner chmod 040 myfile.txt read by group chmod 004 myfile.txt read by anybody (other) chmod 200 myfile.txt write by owner chmod 020 myfile.txt write by group chmod 002 myfile.txt write by anybody chmod 100 myfile.txt execute by owner chmod 010 myfile.txt execute by group chmod 001 myfile.txt execute by anybody
और अच्छे से समझने के लिए हम numbers को different - different तरीके से bind करते हैं -
7 = 4+2+1 (read/write/execute) 6 = 4+2 (read/write) 5 = 4+1 (read/execute) 4 = 4 (read) 3 = 2+1 (write/execute) 2 = 2 (write) 1 = 1 (execute)
Example -
chmod 666 myfile.txt (read/write by anybody.) chmod 755 myfile.txt (rwx for owner, rx for group and rx for the other.) chmod 777 myfile.txt (read, write, execute for all.)
I Hope, अब आपको Linux में file permission के बारे में यह blog पसंद आया होगा।
Loading ...