Linux ගොනු අවසරයන් පැහැදිලි කිරීම: chmod, -rw-r–r–, සහ ප්‍රවේශ අයිතිවාසිකම්

目次

1. හැඳින්වීම

Linux හි “ප්‍රවේශ ාධිකාර” කුමක්ද?

Linux සහ Unix-ආකෘති පද්ධතිවලදී, ගොනු සහ නාවිකාවන්හි “ප්‍රවේශ ාධිකාර” (අනුමැතියන්) නිවැරදිව කළමනාකරණය කිරීම ඉතා වැදගත්කමක් ඇත. මෙය පද්ධතියේ ස්ථාවර මෙහෙයුම සඳහා සහ ආරක්ෂාවේ දෘෂ්ටිකෝණයකින් බලන විටත් අත්‍යවශ්‍ය අංගයකි. බූමිකාර්ථයේ ගොනු ලැයිස්තුවක් පෙන්වන විට, බොහෝ දෙනෙකුට -rw-r--r-- වැනි අමුතු සංකේත දැකීමට සිදුවන අතර, “මෙයින් අදහස් කරන්නේ කුමක්ද?” යනුවෙන් සිතීමට ඇති විය හැක.

chmod සහ -rw-r–r– අතර සම්බන්ධතාවය

මෙම සංකේත ගොනුවක ප්‍රවේශ ාධිකාරවල සංකේතාත්මක නිරූපණයකි. chmod ප්‍රණේතාව ගොනු සහ නාවිකාවන්හි මෙම ප්‍රවේශ ාධිකාර සකස් කිරීම සහ වෙනස් කිරීම සඳහා භාවිතා වේ. තවද, chmod භාවිතයෙන් ගොනුවකට නිශ්චිත ප්‍රවේශ ාධිකාර ලබා දෙන විට, -rw-r--r-- වැනි සංකේත පෙන්වීම ලෙස ප්‍රතිඵලයක් ලැබේ.

මෙම ලිපියේ අරමුණ සහ ඉලක්කගත පිරිස

මෙම ලිපියෙහි, -rw-r--r-- යන්නෙන් විශේෂයෙන් අදහස් වන්නේ කුමක්ද යන්න සහ chmod භාවිතයෙන් එය සකස් කිරීම සහ වෙනස් කිරීම ආරම්භකයින්ට පවා පහසුවෙන් තේරුම් ගත හැකි ආකාරයට පැහැදිලි කරන්නෙමු. තවද, ආරක්ෂාව සම්බන්ධ සලකා බැලීම් සහ සැබෑ භාවිතා උදාහරණ වැනි ප්‍රායෝගික අන්තර්ගතයන්ද ස්පර්ශ කරන්නෙමු. මෙම ලිපිය Linux හා නුඳුසු අයගෙන් ටර්මිනල් මෙහෙයුම් සම්බන්ධයෙන් යම්කිසි පරිචිතකමක් ඇති මධ්‍යම පරිමාණිකරණයන් දක්වා සියලු දෙනා ඉලක්ක කරමින්, සැබෑ ලෝක තත්ත්වයන්හි යෙදිය හැකි ප්‍රායෝගික දැනුම්වල තදින් තේරුම් ගැනීමක් ලබා දීම උපකල්පනය කරයි.

2. chmod කුමක්ද? [Basic Understanding]

chmod ප්‍රණේතාවේ භූමිකාව

chmod (උච්චාරණය “chom-mod” හෝ “change mode”) යනු “වෙනස් කිරීමේ ආකාරය” යන්නේය සඳහා කෙටි යෙදුමක් වන අතර, Linux සහ Unix-ආකෘති මෙහෙයුම් පද්ධතිවල ගොනු සහ නාවිකාවන්හි ප්‍රවේශ ාධිකාර (අනුමැතියන්) වෙනස් කිරීම සඳහා භාවිතා වන ප්‍රණේතාවකි. මෙම ප්‍රණේතාව භාවිතයෙන්, “කවුරුහරි කුමන මෙහෙයුම් (පාඨ කිරීම, ලිවීම, ක්‍රියාත්මක කිරීම) කළ හැකිද” යන්න නම්‍යශීලීව පාලනය කළ හැක. ගොනු සහ නාවිකාවන්හි අනුමැතියන් නිවැරදිව සකස් කිරීම ආරක්ෂාව සහතික කිරීම සඳහා පමණක් නොව ගොනු බෙදාහැරීම සහ ක්‍රියාත්මක කිරීමේ ගැටලු වළක්වා ගැනීම සඳහාද ඉතා වැදගත්කමක් ඇත.

chmod හි මූලික ව්‍යාකරණය

chmod [options] [permissions] filename

උදාහරණයක් ලෙස, එය පහත පරිදි භාවිතා වේ:

chmod 644 sample.txt

මෙම ප්‍රණේතාව sample.txt හි අනුමැතියන් පහත පරිදි වෙනස් කරයි:

-rw-r--r--  1 user group 1234 Apr 13 20:00 sample.txt
  • හිමිකරු (පරිශීලක): පාඨ කිරීම සහ ලිවීමට ඉඩදීම (rw-)
  • කණ්ඩායම: පාඨ කිරීම පමණක් (r–)
  • අනෙකුන්: පාඨ කිරීම පමණක් (r–)

දෙවර්ගයේ නිර්දේශකරණ: සංඛ්‍යාත්මක සහ සංකේතාත්මක

chmod භාවිතයෙන් ප්‍රවේශ ාධිකාර නිර්දේශ කිරීමට දෙවර්ගයේ ක්‍රම ඇත:

  • සංඛ්‍යාත්මක නිර්දේශකරණය (සංඛ්‍යාත්මක ආකාරය)
  • උදාහරණය: chmod 755 script.sh
  • මෙම ක්‍රමයෙන්, එක් එක් පරිශීලක වර්ගය සඳහා අනුමැතියන් සංඛ්‍යාත්මකව නිර්දේශ කරයි.
  • සංකේතාත්මක නිර්දේශකරණය (සංකේතාත්මක ආකාරය)
  • උදාහරණය: chmod u=rw,g=r,o=r file.txt
  • මෙම ක්‍රමයෙන්, u (පරිශීලක), g (කණ්ඩායම), o (අනෙකුන්) සඳහා r (පාඨ), w (ලිවීම), x (ක්‍රියාත්මක) සංකේත භාවිතයෙන් අනුමැතියන් නිර්දේශ කරයි.

එක් එක් ක්‍රමයෙන් අවසානයේදී එකම අනුමැතියන් සකස් කළ හැකි වුවද, සංඛ්‍යාත්මක නිර්දේශකරණය බහුල වෙනස්කම් සඳහා වේගවත් වන අතර, සංකේතාත්මක නිර්දේශකරණය වඩා නම්‍යශීලී වෙනස්කම් සඳහා ඉඩ සලසයි. තත්ත්වය අනුව ඒවා භාවිතා කිරීම හොඳමයි.

chmod සහ chown අතර වෙනස සලකන්න

chown ප්‍රණේතාව chmod සමඟ බොහෝ විට ව්‍යාකූල වේ.

  • chmod : ප්‍රවේශ ාධිකාර (අනුමැතියන්) වෙනස් කරයි
  • chown : ගොනු සහ නාවිකාවන්හි “හිමිකරු” සහ “කණ්ඩායම” වෙනස් කරයි

ඒවායේ අරමුණු වෙනස් වන බැවින්, එක් එක් ප්‍රණේතාවේ භූමිකාව පැහැදිලිව තේරුම් ගැනීම වැදගත්කමක් ඇත.

3. -rw-r–r– හි අර්ථය තේරුම් ගැනීම එහි කොටස්වලට බෙදා

අනුමැතිය සංකේතවල ව්‍යූහය

Linux හි ls -l ප්‍රණේතාව ක්‍රියාත්මක කළ විට, ගොනු තොරතුරු පහත ආකෘතියෙන් පෙන්වයි:

-rw-r--r--  1 user group  1234 Apr 13  2025 sample.txt

මෙමගින්, වම්බර සඳහන් -rw-r--r-- යනු ගොනුවේ අනුමැතියන් (ප්‍රවේශ අයිතියන්) නියෝජනය කරයි. මෙය තේරුම් ගැනීමෙන්, කවුරුහරි කුමන මෙහෙයුම් කළ හැකිද යන්න නිවැරදිව තේරුම් ගත හැක.

එක් එක් කොටසේ විස්තරාත්මක පැහැදිලි කිරීම

① පළමු අක්ෂරය: ගොනු වර්ගය

SymbolMeaning
-Regular file
dDirectory
lSymbolic link
bBlock device
cCharacter device

-rw-r--r-- හිදී, ආරම්භක - යනු “සාමාන්‍ය ගොනුවක්” බවට ලකුණු කරයි. ② 2 සිට 10 දක්වා අක්ෂර: ප්‍රවේශ ාධිකාර (3 අක්ෂර × 3 කුලම්)

  • හිමිකරු (පරිශීලක)rw- → කියවීම (r) සහ ලිවීම (w) ඉඩ ඇත, ක්‍රියාත්මක කිරීම (x) නොමැත.
  • කණ්ඩායමr-- → කියවීම පමණයි. ලිවීම සහ ක්‍රියාත්මක කිරීම ඉඩ නොදේ.
  • අන්‍යයන්r-- → කියවීම පමණයි.

එබැවින් තත්ත්වය හිමිකරුට පමණක් සංස්කරණය කළ හැකි අතර, අනෙකුත් පරිශීලකයන්ට පමණක් බැලීමට ඉඩ ඇත.

සංඛ්‍යාත්මක සංකේතය සමඟ සම්බන්ධතාවය: 644 අර්ථය

Linux හි, ඒම අවසරයන් සංඛ්‍යාත්මක (ඔක්ටල්) සංකේතය මගින්ද පෙන්විය හැක.
-rw-r--r-- සඳහා අදාළ සංඛ්‍යාත්මක සංකේතය 644 වේ.

User TypeSymbolic NotationNumericMeaning
Ownerrw-6Read + Write
Groupr--4Read-only
Othersr--4Read-only

මෙම අංකය පහත ගණනයෙන් ලබා ගත හැක:

  • කියවීම (r) = 4
  • ලිවීම (w) 2
  • ක්‍රියාත්මක කිරීම (x) = 1

එබැවින්, rw- = 4 + 2 = 6, r-- = 4, r-- = 4 → එකතුව 644.

මෙම අවසරය භාවිතා කරන හේතුව කුමක්ද?

-rw-r--r-- (644) යනු වෙබ් සේවාදායකවල පබ්ලික් ගොනු සහ ස්ථාවර ගොනු (HTML, CSS, ආදිය) සඳහා සාමාන්‍යයෙන් භාවිතා වන අවසරයකි.

හේතු පහත පරිදි වේ:

  • හිමිකරුට පමණක් සංස්කරණය කළ හැක → අනිසි වෙනස්කම් වැළැක්වීම
  • අනෙකුත් පරිශීලකයන්ට කියවීමට ඉඩ ඇත → ගොනු බෙදාගැනීම සහ ප්‍රකාශනයට සහය

නිසි ලෙස භාවිතා කරන විට, ආරක්ෂාව සහ පහසුව අතර සමතුලිත ගොනු කළමනාකරණයක් සපයයි.

4. `-rw-r–r– සකස් කිරීම chmod සමඟ [Practical Edition]

chmod විධානය භාවිතා කර අවසර වෙනස් කිරීම

ගොනු සහ නාමාවලීන්ගේ ප්‍රවේශ අවසර chmod විධානය භාවිතා කර නිදහස්ව වෙනස් කළ හැක. උදාහරණයක් ලෙස, තත්ත්වය -rw-r--r-- ලෙස සකස් කිරීමට අවශ්‍ය නම්, අවසරය “644” ලෙස සකස් කිරීම පමණයි.

සංඛ්‍යාත්මක නිරූපණයාවිත සකස් කිරීමේ ක්‍රමය

chmod 644 filename ආකාරය භාවිතා කරන්න.

chmod 644 document.txt

මෙම විධානය document.txt ගොනුවේ අවසර පහත පරිදි වෙනස් කරයි:

-rw-r--r--  1 user group 1234 Apr 13 20:00 document.txt
  • හිමිකරු (පරිශීලක): කියවීම සහ ලිවීම ඉඩ ඇත (rw-)
  • කණ්ඩායම: කියවීම පමණයි (r–)
  • අන්‍යයන්: කියවීම පණයි (r–)

සංකේත නිරූපණය භාවිතා කර සකස් කිරීමේ ක්‍රමය

අවසරයන් වඩා සවිස්තරාත්මකව පාලනය කිරීමට අවශ්‍ය නම්, සංකේත නිරූපණය ප්‍රයෝජනවත් වේ.

chmod u=rw,g=r,o=r document.txt

මෙම විධානය පහත පරිදි විස්තර කරයි:

  • u=rw → හිමිකරුට කියවීම සහ ලිවීම අවසර සකසයි
  • g=r → කණ්ඩායමට කියවීම පමණක් ඉඩ දේ
  • o=r → අනෙකුත් පරිශීලකයන්ට කියවීම පමණක් ඉඩ දේ

ප්‍රතිඵලය සංඛ්‍යාත්මක නිරූපණ 644 සමඟ සම්පූර්ණයෙන් එකසේ වේ.

නාමාවලීන්ට යෙදීමේදී සැලකිලිමත් විය යුතු කරුණු

ගොනු වලට වඩා, නාමාවලීන්ට ඒවායේ අන්තර්ගතයට ප්‍රවේශ වීමට “ක්‍රියාත්මක අවසර (x)” අවශ්‍ය වේ.

උදාහරණයක් ලෙස, පහත පරිදි කිරීම ප්‍රවේශය සීමා කරනු ඇත:

chmod 644 my_folder

මෙම සැකසීමෙන් කියවීම පමණක් ලබා දේ, නමුත් නාමාවලියේ අන්තර්ගතය “විවෘත” කිරීම (ක්‍රියාත්මක අවසරය අවශ්‍ය) අසම්භව වේ.

නිවැරදි සැකසීමේ උදාහරණය:

chmod 755 my_folder
  • හිමිකරු: කියවීම, ලිවීම, ක්‍රියාත්මක කිරීම
  • කණ්ඩායම සහ අන්‍යයන්: කියවීම, ක්‍රියාත්මක කිරීම

මෙසේ කිරීමෙන් අනෙකුත් පරිශීලකයන්ට නාමාවලියේ ගොනු ලැයිස්තුගත කිරීමට හැකියාව ලැබේ.

අවසරයන් පූර්ණයෙන්ම වෙනස් කිරීම: -R විකල්පය

එකවර බහු ගොනු සහ උපනාමාවලීන් වෙනස් කිරීමට අවශ්‍ය නම්, -R (recursive) විකල්පය භාවිතා කරන්න.

chmod -R 644 my_folder

මෙම ක්‍රියාව my_folder යටතේ සියලු ගොනු සඳහා 644 අවසරය යෙදේ. නමුත්, මෙම ක්‍රමය සමඟ සැලකිලිමත් විය යුතු කරුණු ඇත.

5. ls -l විධානය භාවිතා කර අවසර පරීක්ෂා කිරීම

ගොනු අවසර පරීක්ෂා කිරීමේ ක්‍රම

ගොනු සහ නාමාවලීන්ගේ ප්‍රවේශ අවසර (permissions) පරීක්ෂා කිරීමට, සාමාන්‍ය Linux විධානය ls -l භාවිතා කරන්න. මෙය “දිගු ලැයිස්තු ආකෘතිය” (long listing format) සඳහා වන අතර, අවසර, හිමිකරු, ප්‍රමාණය, අවසන් වෙනස්කම් දිනය වැනි විස්තර පෙන්වයි.

මූලික භාවිතය

ls -l

මෙම විධානය ක්‍රියාත්මක කිරීමෙන් පහත පරිදි ප්‍රතිඵලයක් පෙන්වනු ඇත:

-rw-r--r--  1 naoya devs  2048 Apr 13 20:00 index.html

සෑම අයිතමයක්ම පහත අර්ථය දරයි:

ItemMeaning
-rw-r--r--Permissions (access rights)
1Number of hard links (usually 1)
naoyaOwner (user)
devsGroup
2048File size (bytes)
Apr 13 20:00Last modification date and time
index.htmlFilename

අවසර තීරුව කියවීමේ ක්‍රමය

මෙම පරිච්ඡේදයේ ප්‍රධාන විෂය වන -rw-r--r-- කොටසට අවධානය යොමු කරමු. එය පහත පරිදි විග්‍රහ කළක:

  • පළමු අක්ෂරය: ගොනුවේ වර්ගය
  • - : සාමාන්‍ය ගොනුව
  • d : නාමාවලිය
  • l : සංකේත සබැඳිය
  • ඉතිරි 9 අක්ෂර: ප්‍රවේශ අවසර (3 අක්ෂර × 3 කට්ටල)
  • හිමිකරු (පරිශීලක): rw- → කියවීම + ලිවීම
  • කණ්ඩායම: r-- → කියවීමට පමණ
  • අනෙකුත්: r-- → කියවීමට පමණ

අනෙක් වචනයෙන්, මෙම ප්‍රදර්ශනයෙන් ඔබට කියවිය හැකිය “හිමිකරුට පමණක් මෙම ගොනුව සංස්කරණය කළ හැකි අතර, අනෙකුත් පරිශීලකයන්ට කියවීමට පමණයි”.

විශෂිත ගොනු පමණක් පරීක්ෂා කිරීම

ඔබට විශේෂිත ගොනුවක් පමණක් අවසර පරීක්ෂා කිරීමට අවශ්‍ය නම්, ගොනු නාමය සඳහන් කරන්න.

ls -l index.html

මෙය ඔබට ඉලක්ක ගොනුව පමණක් පරීක්ෂා කිරීමට ඉඩ දෙයි. ගොනු බොහොමයක් ඇති නාමාවලියක පරීක්ෂා කිරීම සඳහා ප්‍රයෝජනවත් වේ.

නාමාවලියන් පරීක්ෂා කිරීමත් සම්භවයයි

ls -l භාවිතයෙන් නාමාවලියන් පරීක්ෂා කළ හැකිය. නමුත් නාමාවලියේ අන්තර්ගතය ලැයිස්තුගත කිරීමට අවශ්‍ය නම්, -d විකල්පය සමඟ භාවිතා කරන්න.

ls -ld my_folder

මෙය my_folder නාමාවලියටම අදාළ අවසර තොරතුරු පමණක් පෙන්වයි (ඇතුළේ ඇති ගොනු ලැයිස්තුව පෙන්වන්නේ නැත).

අවසර පරීක්ෂා කිරීමේදී ආරක්ෂිතව කළමනාකරණය

chmod භාවිතයෙන් අවසර සකස් කිරීමෙන් පසු, ls -l සමඟ ප්‍රතිඵලය නිතර පරීක්ෂා කිරීම සුපිරි ය. වැරදි සැකසුම් ඉතිරිව ඇත්නම්, ඒවා ආරක්ෂාත්මක සිදුවීම් හෝ අනපේක්ෂිත හැසිරීම් ඇති කරයි. එසේම, ඔබට එකවර ගොනු කිහිපයක් පරීක්ෂා කිරීමට අවශ්‍ය නම්, පහත පරිදි pipe එකක් සමඟ ඒවා එකතු කළ හැක:

ls -l | grep '.sh'

මෙය .sh (shell script) දිගුව ඇති ගොනු පමණක් පෙරහන් කර පෙන්වයි.

6. GUI මෙවලම් භාවිතයෙන් අවසර පරීක්ෂා කිරීම සහ වෙනස් කිරීම (ආරම්භකයින් සඳහා)

විධාන භාවිතයට අසනීප වන අයට විකල්ප

ලිනක්ස් මෙහෙයුම ප්‍රධානශයෙන් ටර්මිනලය භාවිතා කරන විධාන රේඛා ක්‍රියාකාරකමයි, නමුත් බොහෝ ආරම්භකයින්ට “පෙළ පමණක් ඇති තිරය අමාරු” හෝ “අසත්‍ය දෝෂ කිරීමට බය” වේ. එවැනි පුද්ගලයන් සඳහා, GUI (ග්‍රැෆික් පරිශීලක අතුරුමුහුණත) ක්‍රමයක් භාවිතයෙන් ගොනු අවසර පරීක්ෂා කිරීම සහ වෙනස් කිරීම කළ හැක.

Ubuntu ගොනු කළමනාකරු (Nautilus) හි මෙහෙයුම

Ubuntu වැනි ලිනක්ස් බෙදාහැරීම් වල සාමාන්‍යයෙන් “Nautilus” නමැති ගොනු කළමනාකරු ඇතුළත් වේ. මෙය Windows හි “File Explorer” සමඟ සමාන මෙවලමකි.

පරීක්ෂා කිරීමේ ක්‍රමය:

  1. ඉලක්ක ගොනුව හෝ නාමාවලිය මත දකුණු-ක්ලික් කරන්න
  2. “Properties” (ගුණාංග) තෝරන්න
  3. “Permissions” ටැබ් (සංස්කරණය අනුව “Access Rights” ලෙස පෙන්විය හැක) විවෘත කරන්න

මෙහි ඔබට කළ හැකි දේ:

  • හිමිකරු සහ කණ්ඩායම පරීක්ෂා කිරීම සහ වෙනස් කිරීම (පරිපාලක අවසර අවශ්‍ය)
  • කියවීම, ලිවීම, ක්‍රියාත්මක කිරීමේ අවසර මාරු කිරීම
  • ප්‍රවේශ අවසර වෙනස්කම් වහාම ක්‍රියාත්මක වේ

GUI තුළ rw- සහ r-- වැනි සංකේත වලට පරිවර්තනය වශයෙන් සහජ්ඣාතී පද (උදා: “Read only” සහ “Read and Write”) පෙන්වයි, එනිසා ආරම්භකයින්ටද නිශ්චලව මෙහෙයවිය හැක.

WinSCP (Windows පරිශීලකයන් සඳහා SFTP ගනුදෙනුකරු)

Windows සිට දුරස්ථ Linux සේවාදායකයට සම්බන්ධ වන විට, WinSCP නමැති SFTP ගනුදෙනුකරු භාවිතයෙන් GUI තුළ අවසර සකස් කළ හැක.

මෙහෙයුම් ක්‍රමය:

  1. WinSCP සමඟ සේවාදායකයට පිවිසෙන්න
  2. අවශ්‍ය ගොනුව මත දකුණු-ක්ලික් → “Properties”
  3. “Access Rights (Permissions)” හි සංඛ්‍යාත්මක අගය (උදා: 644) හෝ කොටු සලකුණු වෙනස් කරන්න
  4. “OK” ක්ලික් කර යෙදවන්න

ලාභ:

  • සංඛ්‍යාත්මක සහ සංකේත නිරූපණ දෙකම පරීක්ෂා කළ හැක
  • GUI හරහා (නාමාවලිය සඳහා) පූර්ණ-අනුකූල අවසර වෙනස්කම් කළ හැක

සටහන:

  • රූට් අවසර අවශ්‍ය ගොනු sudo අවසර නොමැතිව වෙනස් කළ නොහැකි විය හැක

<https://winscp.net/eng/index.php>

FileZilla (ක්‍රොස්-ප්ලැට්ෆෝම් SFTP ගනුදෙනුකරු)

Mac සහ Linux හිද භාවිතා කළ හැකි SFTP ගනුදෙනුකරු FileZilla සමඟද ඒම ක්‍රමයෙන් අවසර වෙනස් කළ හැක.

ක්‍රියාවලිය:

  1. සේවාදායකයට සම්බන්ධ වූ පසු, අදාල ගොනුව මත දකුණු-ක්ලික් කරන්න
  2. “File permissions…” තෝරන්න
  3. කොටු සලකුණු හෝ සංඛ්‍යාත්මක අගයන් සකසා “OK” ක්ලික් කර යෙදවන්න

GUI මෙහෙයුමේ වාසි සහ අවාසි

වාසි:

  • ආරම්භකයින්ට දෝෂ සිදුවීම අවස්ථාව අඩුයි
  • වෙනස්කම් වහාම දෘශ්‍යම ලෙස තහවුරු කළ හැක
  • විධාන නොදන්නා අයටද පහසුවෙන් කළ හැක

අවාසි:

  • සේවාදායක සැකසුම් සහ පරිසරය අනුව, GUI මෙවලම් භාවිතයෙන් වෙනස්කම් සිදු කළ නොහැකි විය හැකිය
  • පෙන්වන තත්ත්වය සහ සැබෑ ප්‍රතිඵලය වෙනස් විය හැකි බැවින්, ls -l භාවිතා කර තහවුරු කිරීමේ සම්බන්ධයෙන් පරිශීලනය කිරීම සුදුසුය

<https://filezilla-project.org/>

7. chmod සැකසුම් සඳහා සටහන් සහ ගැටළු විසඳුම්

ඔබ නිවැරදිව සකස් කර ඇති බව සිතූවත් එය ක්‍රියා නොකරන්නේ ඇයි? හේතුව කුමක්ද?

chmod විධානය භාවිතයෙන් ප්‍රවේශසර වෙනස් කිරීමෙන් පසු, එය අපේක්ෂිත ලෙස ක්‍රියා නොකරනු ඇත. බොහෝ විට, මෙය අවසර සැකසුම් දෂ හෝ අවසර පිළිබඳ වැරදි අවබෝධය නිසා වේ.
මෙහිදී, ප්‍රායෝගිකව සාමාන්‍ය ගැටළු විසඳුම් උදාහරණ සහ ඒවායේ විසඳුම් ඉදිරිපත් කරමු.

“Permission denied” දෝෂයේ හේතු සහ විසඳුම්

ලක්ෂණය:

bash: ./script.sh: Permission denied

හේතුව:

  • ඔබ ක්‍රියාත්මක කිරීමට උත්සාහ කරන ගොනුවට “ක්‍රියාත්මක අවසර (x)” ලබා නොදී ඇත

විසඳුම:

chmod +x script.sh

හෝ, සංඛ්‍යාත්මක නිරූපණය භාවිතා කරනවා නම්:

chmod 755 script.sh

ඔබට කියවීමට සහ ලිවීමට හැක, නමුත් ක්‍රියාත්මක කිරීමට නොහැකි බව සලකන්න.

ක්‍රියාත්මක අවසර නොමැතිව නාමාවලියට ප්‍රවේශ විය නොහැක

chmod 644 නාමාවලියකට සකස් කරන්නේ නම්, එහි අන්තර්ගතය කියවීමට නොහැකි විය හැක.
හේතුව:

  • නාමාවලියකට “ක්‍රියාත්මක අවසර (x)” යනු “ඇතුළුවීමට” සහ “අන්තර්ගතය දැකීමට” අවශ්‍ය වේ.

උදාහරණය:**

chmod 644 my_folder
ls my_folder

→ ඉහත අවස්ථාවේ, අන්තර්ගතය පෙන්වීමට නොහැකි විය හැකි අතර දෝෂයක් සිදුවිය හැක.

විසඳුම:

chmod 755 my_folder

පූර්ණ-ප්‍රතිචාරක (Recursive) වෙනස්කම් (-R) හි අවදානම්

chmod -R පහසු වුවද, එය ගොනු සහ නාමාවලිය දෙකටම එකම අවසර ලබා දේ, එය අනපේක්ෂිත ගැටළු ඇති කරයි.
සාමාන්‍ය අසාර්ථක උදාහරණය:

chmod -R 644 /var/www/html

→ නාමාවලියට ක්‍රියාත්මක අවසර නැතිවී, ඔබට එහි අන්තර්ගතයට ප්‍රවේශ වීමට නොහැක.

නිවැරදි භාවිතය:

# Directories with execute permission
find /var/www/html -type d -exec chmod 755 {} ;

# Files with 644
find /var/www/html -type f -exec chmod 644 {} ;

හිමිකරු සහ කණ්ඩායම සමඟ සංයුක්ත දෝෂ

chmod ට අමතරව, ගොනුවේ “හිමිකරු (පරිශීලක)” සහ “කණ්ඩායම” ගැනද අවධානය යොමු කළ යුතුය.
උදාහරණයක් ලෙස, apache පරිශීලකයාට ගොනුවක් කියවීමට අවශ්‍ය නම්, හිමිකරු සාමාන්‍ය පරිශීලකයෙකු වන අතර අනෙකුත් පරිශීලකයන්ට කියවීමේ අවසර නොමැති නම්, වෙබ් පෙන්වීම අසාර්ථක වේ.

විසඳුම:

  • හිමිකරු වෙනස් කරන්න: sudo chown www-data:www-data index.html
  • කණ්ඩායමට අවසර ලබා දෙන්න: chmod 640 index.html (කණ්ඩායම සුදුසු නම්)

777 අත්‍යවශ්‍ය! අධික අවසර ලබා දීමේ අවදානම

කිසිඳු කෙනෙකු “කාර්යය නොකරන්නේ නම්, 777 ලෙස සකසන්න” යනුවෙන් සිතිය හැක, නමුත් මෙය ඉතා අවදානම් ක්‍රියාවලියකි.

හේතුව:

  • ඕනෑම කෙනෙකුට කියවීමට, ලිවීමට, ක්‍රියාත්මක කිරීමට හැක
  • තෙවන පාර්ශවයන් විසින් අනිසි ලෙස වෙනස් කිරීම සහ දුෂ්කර ස්ක්‍රිප්ට් භාවිතය වර්ධනය වේ

නිර්දේශිත මූලික නීති:

  • ගොනු : 644 හෝ 600
  • නාමාවලියන් : 755 හෝ 700
  • ස්ක්‍රිප්ට් සහ බයිනරි : 755 (අවශ්‍ය පරිදි)

8. භාවිත උදාහරණ සහ සාමාන්‍ය අවස්ථා

chmod අවසර සැකසුම වාස්තුකාලීන අවස්ථා වල කෙසේ භාවිතා වේද?

chmod විධානය සහ මෙතෙක් හඳුන්වා දී ඇති -rw-r--r-- ප්‍රවේශ අවසර ප්‍රායෝගික සේවාදායක මෙහෙයුම් සහ සංවර්ධන පරිසරවල නිතර භාවිතා වේ.
මෙහිදී, තුන් සාමාන්‍ය අවස්ථා තුළින්, අවසර සැකසුම් කෙසේ භාවිතා කරනු ලබන්නේදැයි බලමු.

1. වෙබ් සේවාදායකයේ HTML ගොනු කළමනාකරණය

අවස්ථාව:
Apache හෝ Nginx වැනි වෙබ් සේවාදායකයක HTML ගොනු ප්‍රකාශනය කරන විට, එම ගොනු සඳහා සකස් කරන අවසර සාමාන්‍යයෙන් -rw-r--r-- (644) වේ.

chmod 644 index.html

ඇයි 644?

  • හිමිකරු (වෙබ් පරිපාලක) වෙනස් කිරීමට අවශ්‍යයි → ලිවීමේ අවසර (w)
  • වෙබ් සේවාදායකය (www-data ආදී) කියවීමට පමණක් අවශ්‍යයි → කියවීමේ අවසර (r)
  • අනෙකුත් පරිශීලකයන්ට ලිවීමේ අවසර ලබා දීමට අවශ්‍ය නැතමෙම සැකසුම සමඟ, ඔබට අවශ්‍ය අවම අවසරයන් සමඟ ආරක්ෂිතව වෙබ් අන්තර්ගතය ප්‍රකාශනය කළ හැක.

2. ස්ක්‍රිප්ට් ගොනු සඳහා ක්‍රියාත්මක අවසර ලබා දීම

දෘශ්‍යය:
ඔබ ඔබේම shell ස්ක්‍රිප්ට් backup.sh එක සෑදුවා, නමුත් එය ක්‍රියාත්මක කිර උත්සාහ කරන විට “Permission denied.” යන දෝෂය ලැබේ.

chmod 755 backup.sh

මෙම සැකසුමේ අර්ථය:

  • හිමිකරුට කියවීමට, ලිවීමට, සහ ක්‍රියාත්මක කිරීමට (rwx) හැකියාව ඇත
  • කණ්ඩායම සහ අනෙකුත් අයට කියවීමට සහ ක්‍රියාත්මක කිරීමට (rx) හැකියාව ඇත

මෙය අනෙකුත් පරිශීලකයන්ට ස්ක්‍රිප්ට් ක්‍රියාත්මක කිරීමට ඉඩ දෙන අතර, හිමිකරුට පමණක් එය සංස්කරණය කළ හැක.

3. රහස් ගොනු සඳහා කියවීමේ ප්‍රවේශය සීමා කිරීම

දෘශ්‍යය:
ඔබ secrets.txt ගොනුව කළමනාකරණය කරයි, එය API යතුරු සහ මුරපද අඩංගු වේ. ඔබට ඔබට හැර වෙනත් කිසිවකුට එය දැකීමට අවශ්‍ය නැත.

chmod 600 secrets.txt

මෙම සැකසුමේ අර්ථය:

  • හිමිකරුට පමණක් කියවීමට සහ ලිවීමට (rw-) හැකියාව ඇත
  • කණ්ඩායම සහ අනෙකුත් අයට ප්‍රවේශය නැත (—)

මෙය ආරක්ෂක දෘශ්‍යකෝණයෙන් ඉතා වැදගත් සැකසුමකි, සහ 600 හෝ 400 (කියවීමට‑පමණක්) සමඟ පෞද්ගලික තොරතුරු කළමනාකරණය කිරීම හොඳ පුරුද්දකි.

4. නිරාපදායක ලෙස නාමාවලියන් බෙදා ගැනීම

දෘශ්‍යය:
ඔබ බහු සංවර්ධකයන්ට ප්‍රවේශය ඇති shared_folder නාමාවලියක් සෑදීමට යන්නේය.

chmod 770 shared_folder

මෙම සැකසුමේ අර්ථය:

  • හිමිකරු සහ කණ්ඩායම: සියලු අවසර (rwx)
  • අනෙකුත් අයට: ප්‍රවේශය නැත (—)

කණ්ඩායම development කණ්ඩායමට සකස් කිරීමෙන්, ඔබට ආරක්ෂිත සහ කාර්යක්ෂම සම්බන්ධතාවයක් සක්‍රිය කළ හැක. chgrp විධානය භාවිතා කර කණ්ඩායම වෙනස් කිරීමෙන් ඉලක්ක පරිශීලකයන්ට සවිස්තරාත්මක පාලනය ලබා ගත හැක.

5. වැරදි සැකසුම් හේතුවෙන් ඇතිවන ගැටළු සහ වැළැක්වීමේ උදාහරණ

දෘශ්‍යය:
ඔබ අනපේක්ෂිතව chmod -R 777 . ක්‍රියාත්මක කර සියලු ගොනු ලිවිය හැකි බවට පත් කර ඇත.

නිර්දේශිත වැළැක්වීමේ ක්‍රියාමාර්ග:

  • 常に find でファイル種別を指定してパーミッションを変更 → සෑම විටම find භාවිතා කර ගොනු වර්ගය නිරූපණය කර අවසර වෙනස් කරන්න
  • 変更前に ls -l で権限を確認しておく → වෙනස් කිරීමකට පෙර ls -l මඟින් අවසර පරීක්ෂා කරගන්න
  • test 用の仮環境で先に試す → පරීක්ෂණ සඳහා අතුරු පරිසරයක් තුළ පළමුව උත්සාහ කරන්න

9. FAQ

Q1. chmod 644 සහ -rw-r–r– අතර වෙනස කුමක්ද?

A. ඒවා එකම දේ නිරූපණය කරන විවිධ ක්‍රම දෙකකි.

  • chmod 644 : සංඛ්‍යාත්මකව අවසර සකස් කරන විධානයකි.
  • -rw-r--r-- : අවසර සකස් කිරීමෙන් පසු ls -l මඟින් දක්නට ලැබෙන සංකේත නාමයයි.

දෙකම හිමිකරුට කියවීම සහ ලිවීමේ අවසර (rw) ඇත, අනෙකුත් සියලු දෙනාට කියවීමේ (r) පමණක් අවසර ඇත.

Q2. ගොනකට ක්‍රියාත්මක කිරීමේ අවසර නොමැති නම් කුමක් සිදුවේ?

A. ඔබ ස්ක්‍රිප්ට් හෝ බයිනරි සෘජුවම ධාවනය කිරීමට උත්සාහ කරන විට දෝෂයක් ලැබේ.

උදාහරණයක් ලෙස, .sh හෝ .py ගොනු ධාවනය කිරීමට ක්‍රියාත්මක කිරීමේ අවසර (x) අවශ්‍ය වේ. එය නොමැති නම්, ඔබටත පරිදි දෝෂයක් පෙනේ:

bash: ./script.sh: Permission denied

විසඳුම:

chmod +x script.sh

Q3. නාමාවලියකට 644 සකස් කිරීම සරිලනද?

A. සාමාන්‍යයෙන් එය සුදුසු නොවේ.

නාමාවලියන්ට “ක්‍රියාත්මක කිරීමේ අවසර (x)” අවශ්‍ය වේ. ක්‍රියාත්මක කිරීමේ අවසර නොමැති නම්, නාමාවලියේ ඇති ගොනු වෙත ප්‍රවේශය ලබා ගත නොහැක.

නිවැරදි සැකසුම:

chmod 755 directory_name

Q4. සාමාන්‍යයෙන් භාවිතා වන අවසර සැකසුම් කුමනවාද?

A. මෙන්න සාමාන්‍යයෙන් භාවිතා වන අවසර සැකසුම් සහ ඒවායේ භාවිතය:

  • 644 (-rw-r–r–) : HTML, CSS, රූප වැනි බොහෝ ස්ථිර ගොනු සඳහා. හිමිකරුට කියවීම සහ ලිවීමේ අවසර, අනෙකුත් සියලු දෙනාට කියවීමේ අවසර.
  • 755 (-rwxr-xr-x) : නාමාවලියන් සහ ක්‍රියාත්මක කළ හැකි ස්ක්‍රිප්ට් සඳහා. හිමිකරුට කියවීම, ලිවීම, ක්‍රියාත්මක කිරීමේ අවසර, අනෙකුත් සියලු දෙනාට කියවීම සහ ක්‍රියාත්මක කිරීමේ අවසර (ලිවීම නොහැක).
  • 600 (-rw——-) : පවතින පමණක් හිමිකරුට කියවීම සහ ලිවීමේ අවසර ඇති සංවේදී ගොනු සඳහා.
  • 700 (-rwx——) : පවතින පමණක් හිමිකරුට ප්‍රවේශය ඇති පෞද්ගලික නාමාවලියන් සඳහා.

Q5. ගොනුවක හිමිකරු හෝ කණ්ඩායම කෙසේ වෙනස් කළ හැකිද?

A. chown විධානය භාවිතා කර හිමිකරු වෙනස් කළ හැකි අතර, chgrp විධානය භාවිතා කර කණ්ඩායම වෙනස් කළ හැක.

හිමිකරු වෙනස් කිරීමේ උදාහරණය:

sudo chown new_owner filename

කණ්ඩායම වෙනස් කිරීමේ උදාහරණය:

sudo chgrp new_group filename

මෙම විධාන සඳහා sudo අවශ්‍ය විය හැක, මන්ද ඒවා සාමාන්‍යයෙන් පරිපාලක අවසර අවශ්‍ය කරයි.

Q6. සියලු මෙෙයුම් පද්ධතිවල ගොනු අවසර එකසේද?

අ. නැහැ, ගොනු අවසර විද්‍යුත් පද්ධති අතර සැලකිය යුතු ලෙස වෙනස් විය හැකිය.

ලිනක්ස් සහ යුනික්ස් වැනි පද්ධතිවල පරිශීලක, කණ්ඩායම සහ අන්‍යයන් මත පදනම් වූ විස්තරාත්මක අවසර පද්ධතියක් ඇත, එහිදී කියවීම, ලිවීම සහ ක්‍රියාත්මක කිරීමේ අවසර ඇත. වින්ඩෝස්, එහි වෙනත් පැත්තේදී, ප්‍රවේශ පාලන ලැයිස්තු (ACLs) මත පදනම් වූ වෙනත් පද්ධතියක් භාවිතා කරයි, එය වඩාත් සියුම් වන අතර විශේෂිත පරිශීලකයින් සහ කණ්ඩායම් සඳහා වඩාත් විස්තරාත්මක ලෙස අවසර නිර්වචනය කළ හැකිය.

10. නිගමනය

ලිනක්ස්හි ගොනු අවසර නිවැරදිව සකස් කිරීම සහ ඒවා තේරුම් ගැනීම යනු සේවාදායකයක් කළමනාකරණය කරන හෝ පද්ධතිය සමඟ වැඩ කරන ඕනෑම කෙනෙකු සඳහා මූලික කුසලතාවකි. -rw-r--r-- සංකේතනය සහ chmod පණිවිඩය මුලදී බියකරු ලෙස පෙනෙන්නට ඇතිනමුත්, මූලික සංකල්ප ග්‍රහණය කිරීම මගින් ඔබේ ආරක්ෂිත සහ හොඳින් සංවිධානය කළ පද්ධතියක් පවත්වා ගැනීමේ හැකියාව සැලකිය යුතු ලෙස වැඩි දියුණු වේ. විවිධ අවසර වර්ග තේරුම් ගැනීම මගින්, සංකේතාත්මක සහ සංඛ්‍යාත්මක සංකේතන විග්‍රහ කිරීමේ ක්‍රමය, සහ chmod පණිවිඩය ඵලදායී ලෙස භාවිතා කිරීමේ ක්‍රමය මගින්, ඔබට ඔබේ ගොනු සහ නාවිකාවන් ආරක්ෂා කර ඇති බව සහ අනුමත පරිශීලකයින්ට පමණක් ප්‍රවේශ විය හැකි බව සහතික කළ හැකිය. ඔබේ අවසර සැකසුම් සැමවිටම ls -l පණිවිඩය මගින් දෙගුණයක් පරීක්ෂා කිරීම සිහි තබා ගන්න සහ පුනරාවර්තන විකල්ප භාවිතා කිරීමේදී පරිස්සම් වන්න. පුහුණුව මගින්, ගොනු අවසර කළමනාකරණය ඔබේ ක්‍රියාකාරීත්වයේ ස්වභාවික සහ අත්‍යවශ්‍ය කොටසක් බවට පත් වේ.