मुख्य बिंदु
- 01तीन digits owner, group, और everyone else के लिए permissions set करते हैं, इसी order में।
- 02हर digit read (4), write (2), और execute (1) का sum है — तो 7 = सब, 5 = read + execute।
- 03755 folders और programs के लिए standard है; 644 ordinary files के लिए standard है; 777 लगभग हमेशा गलती है।
तीन digits, तीन audiences
Linux और macOS पर, हर file और folder तीन अलग groups की permissions रखता है। Left से right, 755 जैसे mode के तीन digits apply होते हैं: owner (file को own करने वाला user), group (users का एक set जो access share करते हैं), और others (literally सब)। Order कभी नहीं बदलता — owner, group, others।
तो 755 कहता है: owner को 7 से describe किए गए permission दो, group को 5 describe किए गए दो, बाकी सब को भी 5 दो। पूरी चीज़ को समझने के लिए, आपको सिर्फ एक digit का मतलब जानना है। फिर same rule को तीन बार पढ़ो।
हर digit कैसे बनता है: 4, 2, 1
हर digit तीन values तक का sum है। Read access 4 worth है, write access 2 worth है, execute access 1 worth है। जो permissions चाहिए उन्हें जोड़ो और एक digit 0 से 7 तक मिलेगा। क्योंकि 4, 2, और 1 powers of two हैं, हर combination एक unique total produce करता है — कभी ambiguity नहीं।
Digit 7 को काम करो: 4 (read) + 2 (write) + 1 (execute) = 7, तो 7 सब grant करता है। Digit 5 है 4 (read) + 1 (execute) = 5, जो read और execute grant करता है लेकिन write नहीं। Digit 6 है 4 + 2 = 6: read और write, लेकिन execute नहीं। Digit 4 सिर्फ read है। Digit 0 कुछ भी नहीं grant करता।
755 को apply करो, तो: owner को 7 मिलता है (read, write, execute — full control), जबकि group और others को 5 मिलता है (read और execute, लेकिन file change करने की ability नहीं)। यह बिल्कुल वही है जो आप program या folder के लिए चाहते हो जिसे दूसरे use कर सकते हों लेकिन modify न कर सकें।
Permission modes जो आप actually use करेंगे
लगभग सारा day-to-day work कुछ modes तक come down होता है। यहाँ है कि हर एक का मतलब क्या है और कब use करना है।
- 01755 = rwxr-xr-x — owner read, write, run कर सकता है; दूसरे read और run कर सकते हैं। Folders, scripts, और executables के लिए default।
- 02644 = rw-r--r-- — owner read और write कर सकता है; दूसरे सिर्फ read कर सकते हैं। Ordinary files जैसे HTML, text, images के लिए default।
- 03700 = rwx------ — owner को full control है; बाकी सब नहीं देख सकते। Private folders और personal scripts के लिए use करो।
- 04600 = rw------- — owner read और write कर सकता है; बाकी locked out हैं। Private keys और secrets वाली config files के लिए perfect।
- 05775 = rwxrwxr-x — owner और group write कर सकते हैं; others read और run कर सकते हैं। Shared project directories के लिए common।
- 06777 = rwxrwxrwx — सब कुछ कर सकते हैं। Security red flag है; लगभग कभी right answer नहीं।
chmod value को कैसे work करें
Octal को memorize करने की जगह, access describe करो जो चाहिए और calculator को number produce करने दो।
- 01
chmod calculator खोलें
Handytool के chmod calculator पर जाएँ। यह पूरी तरह browser में run होता है।
- 02
Boxes को tick करो
Read, write, या execute को check करो owner, group, और others के लिए based पर कि किसे क्या करना चाहिए।
- 03
Result को पढ़ो
Tool numeric mode (755 जैसे) और symbolic string (rwxr-xr-x जैसे) को side by side दिखाता है, ताकि तुम जो चाहो copy कर सको।
- 04
Command को copy करो
Ready-made chmod command को grab करो और terminal में paste करके permissions apply करो।
एक catch: execute का मतलब अलग है
File पर, execute bit का मतलब "यह program की तरह run हो सकता है।" Folder पर, execute का मतलब अलग है: "तुम्हें इस directory में enter करने और अंदर क्या है वह access करने की permission है।" यही कारण है कि folders को आमतौर पर 755 मिलता है, 644 नहीं — execute bit के बिना, तुम folder का नाम list कर सकते हो लेकिन उसे open नहीं कर सकते या अंदर की files तक नहीं पहुँच सकते।
यही कारण है कि readable files से भरा folder भी "permission denied" throw कर सकता है। Files 644 हो सकती हैं और perfectly readable हो सकती हैं, लेकिन अगर folder को execute bit group या others के लिए नहीं है, तो कोई भी traverse नहीं कर सकता। Directories को 755 और उनकी contents को 644 set करो और most puzzles disappear हो जाएँगी।
chmod FAQ
chmod 755 का मतलब क्या है?
यह owner को full read, write, और execute permission देता है (7), और group और everyone else को read और execute ही देता है (5 और 5)। यह folders, scripts, और programs के लिए standard mode है जिन्हें दूसरे use कर सकते हों लेकिन change न कर सकें।
755 और 644 में क्या difference है?
755 में execute bit है, इसलिए file run हो सकती है और folders enter हो सकते हैं। 644 में execute bit नहीं है — owner के लिए read और write, बाकी सब के लिए read-only, जो ordinary data files के लिए सही है।
क्या chmod 777 safe है?
Rarely। यह हर user और process को file को read, modify, और replace करने देता है, जो shared system पर security risk है। Narrowest mode use करो जो problem solve करे, आमतौर पर 755 या 644।
मैं rwxr-xr-x जैसे mode को कैसे पढ़ूँ?
इसे तीन groups of three में पढ़ो: rwx (owner) r-x (group) r-x (others)। Letter का मतलब permission grant है, dash का मतलब नहीं। rwxr-xr-x 755 का symbolic form है।