29 – ගොණු ප්‍රවේශයන් පරිපාලනය (access control) (2 කොටස)

ගොණු අවසරයන් (file permissions) පිලිබඳ න්‍යායාත්මක තොරතුරු කිහිපයක් අද ලිපියෙන් සොයා බලමු. ls -l command යොදා ගනිමින් කිසියම් file එකකට ලබා දී ඇති permissions බලාගත හැකිය. මෙහිදී ලැබෙන ප්‍රතිදානයෙහි (output) මුලින්ම ඇත්තේ ගොණු අවසරයන් ය. තනි ඒකකයක් ලෙස දැක්වුනද එය කොටස් කිහිපයකට බෙදා දැක්වීමට පිළිවන. පහත උදාහරණයෙහි එම කොටස් නම්කර දක්වා ඇත.

file permission groups
file permission groups

රූපයෙහි දැක්වෙන පරිදි වම් පස කෙළවරෙහි ඇති අක්‍ෂරයෙන් දැක්වෙන්නේ ගොණු මාදිලියයි (file type). ඊළඟට අක්‍ෂර තුන බැගින් ඛාණ්ඩ කර පිලිවෙලින් ගොණුවේ අයිතිකරු (file owner), ඔහු අයත් කණ්ඩායම (group) සහ අනෙක් අය (others) අතර ගොණු අවසරයන් බෙදී ඇති ආකාරය දැකගත හැකිය. මෙය ඉතා සංකීර්ණ ලෙස පෙනුනද තේරුම් ගැනීමට ඉතා පහසුය. මුලින්ම ගොණු මාදිලිය මගින් දැක්වෙන තොරතුරු සොයා බලමු.

ගොණු මාදිලිය (file type)

මේ යටතේ අක්‍ෂර කිහිපයක් යොදා ගන්නා අතර ඒවායේ අර්ථ නිරූපනයන් පහත පරිදි වේ.

අක්‍ෂරය/සංකේතය අර්ථය
සාමාන්‍ය ගොණුව (regular file)
d නාමාවලිය (directory)
l වෙනත් ගොණුවක් සඳහා වූ සංකේතාත්මක සබැඳිය (symbolic link)*
c වරකට එක් අක්‍ෂරය බැගින් දත්ත හසුරුවන උපාංගයකි (character special file).**
b දත්ත ඛාණ්ඩ (blocks) වශයෙන් හසුරුවන උපාංගයකි (block special file).***
s ගොණු අයිතිකරුගේ අවසරයන් ආරෝපණය (setuid/setgid).****
t නාමාවලි (directory) තුළ ඇති ගොණු මකා දැමීම/නම් වෙනස් කිරීම වැලැක්වීම.*****

* මෙවැන්නකට පසුව යෙදෙන ගොණු අවසරයන් සත්‍ය ගොණුවේ ගොණු අවසරයන් නියෝජනය නොකරන නිසා ව්‍යාජ අගයක් ලෙස rwxrwxrwx දැක්වේ.

** උදා.: terminal, cable modem

*** උදා.: CD/DVD ROM/RW, Hard Disk

**** අයිතිකරු ලෙස ම ගොණු ක්‍රියාත්මක කිරීම සඳහා මෙමගින් ඉඩ සැලසේ. root මගින් නිර්මාණය වන ගොණු සඳහා මෙය යොදාගැනීම නොකළ යුතුය.

***** මෙසේ සකසා ඇති නාමාවලියක ගොණුවක් මකා දැමීම හෝ නම වෙනස් කිරීම කල හැක්කේ ගොණුවේ අයිතිකරුට පමණි. හවුලේ ගොණු (shared files) භාවිතය සඳහා මෙම ක්‍රමය වැදගත් වේ.

අවසර ඛාණ්ඩයන් (permission groups)

ගොණු මාදිලියට පසුව යෙදෙන අක්‍ෂර ඛාණ්ඩ මගින් read (කියවීම), write (ලිවීම) සහ execute (ක්‍රියාත්මක කිරීම) යන අවසරයන් owner, group, others යන අනුපිළිවෙළින් නියමකර දක්වයි. කිසියම් ස්ථානයකට අදාළ ව මගින් දැක්වෙන්නේ එම අවසරය ලබාදී නොමැති බවයි. ගොණුවක් නිර්මාණයේදී එහි අයිතිකරුට (owner) නිතැතින්ම read/write අවසරයන් හිමිවේ. ගොණු අවසරයන් (file permissions) එය පිහිටි නාමාවලියේ අවසරයන් (directory permissions) සමග සෘජුවම බැඳී පවතී. ඒවා පහතින් විස්තර කර දක්වා ඇත.

  • read (r) – ගොණු කියවීම සඳහා අවසරය (read permission) ලබාදේ. නාමාවලි (directory) සඳහා executable permission (x) සමග read permission (r) ඇතිවිට පමණක් එහි අන්තර්ගතය ls -l command මගින් බලා ගැනීමට හැකියාව ඇත.
  • write ( w) – ගොණුවේ අන්තර්ගතය වෙනස් කිරීම (modify/truncate) සඳහා ලිවීමේ අවසරය (write permission) ලබාදේ. නමුත් ගොණුව මකා දැමීම (delete) හෝ නම වෙනස් කිරීම (rename) කිරීම සඳහා directory එකට executable permission (x) තිබීම අත්‍යාවශ්‍ය වේ.
  • execute (x) – කිසියම් ගොණුවක් ක්‍රියාත්මක කල හැකි එකක් ලෙස හඳුනා ගන්නේ මෙම අවසරය ලබාදී ඇත්නම් පමණි. Directory තුළ commands ක්‍රියාත්මක කිරීමට එයට executable permission ලබාදීම අවශ්‍ය වේ. සියලුම විධාන (commands) ගොණු වලට executable permissions නියම කිරීම මෙහෙයුම් පද්ධතිය ස්ථාපනයේදී ස්වයංක්‍රිය ලෙස සිදුවේ. අප නිර්මාණය කරන ක්‍රමලේඛ (programs) ක්‍රියාත්මක කිරීමට නම් ඒවාටද මෙම executable permission (x) ලබාදිය යුතුය.

නිතර භාවිතා වන permissions පිලිබඳ උදාහරණ කිහිපයක් පහත දැක්වේ.

-rwx------ owner ට පමණක් සියලු permissions හිමිවී ඇත.
-rw------- owner ට පමණක් read-write permissions ලබාදී ඇත.
-rw-r--r-- owner ට read-write permissions සහ අනෙක් අයට read permission පමණක් ලබාදී ඇත.
-rwxr-xr-x owner ට සියලු permissions සහ අනෙක් අයට read-execute permissions ඇත.
-rw-rw---- owner ට සහ ඔහුගේ කණ්ඩායමට (group) අයත්වන වෙනත් පරිශීලකයන්ට read-write permissions ඇත.
lrwxrwxrwx සංකේතාත්මක සබැඳියකි. දැක්වෙන අවසරයන් ව්‍යාජ ඒවාය.
drwxr-x--- Directory එකකි. Owner ට සියලු permissions සහ කණ්ඩායම් සාමාජිකයන්ට read-execute permissions ඇත.

සටහන: root user කිසියම් ගොණුවක owner නොවුණද සඳහා සෑමවිටම සියලු permissions හිමිවේ.

ගොණු අවසරයන් ඉලක්කම් මගින් නිරූපණය

ඉහත දැක්වූ permissions අක්‍ෂර ලෙස දැක්වෙන්නේ පරිශීලකයාට දැනගැනීමේ පහසුව සඳහා පමණි. අභ්‍යන්තරව Linux මෙහෙයුම් පද්ධතිය මගින් එක් එක් permission වෙනුවට ඉලක්කමක් ආදේශ කරගනිමින් ගොණු පරිපාලනය සිදු කරනු ලබයි. ඒ අනුව read(r), write(w) සහ execute (x) සඳහා පිළිවෙලින් 4, 2, 1 යන අගයන් භාවිතා වේ. මේ අනුව කිසියම් ඛාණ්ඩයක permissions වල එකතුවේ උපරිමය ලෙස 7 ද අවමය ලෙස 0 ද දැක්විය හැකිය. විවිධ සංයෝජනයන් (combinations) යොදාගෙන මෙම අගයන් අතර (0, 7 ද ඇතුළත් ව) permissions සැකසීමේ හැකියාව ඇත. කෙසේ නමුත් read permissions නොමැති විටෙක අනෙක් permissions වල වලංගුභාවයක් නැත. Permissions සඳහා වලංගු සියලුම සංයෝජන සහ ඒවායේ අගයන් පහත දැක්වේ.

--- = 0 (0+0+0)
r-- = 4 (4+0+0)
r-x = 5 (4+0+1)
rw- = 6 (4+2+0)
rwx = 7 (4+2+1)

Command line හිදී මින් ඕනෑම ක්‍රමයකින් permissions ලබාදීමට පිළිවන. එසේ permissions ලබාදෙන ආකාරය සහ ඒ සඳහා යොදාගන්නා commands මීළඟ ලිපියෙන් සාකච්චා කෙරේ.

ප්‍රතිචාරයක් ලබාදෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Google photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )