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

බහු-කාර්ය (multi-tasking) සහ බහු-පරිශීලක (multi-user) මෙහෙයුම් පද්ධතියක් ලෙස Linux  ඉතා ජනප්‍රිය වී ඇත. මේ අනුව Windows මෙන් නොව පරිශීලකයන් විශාල ගණනකට වුවද එකවර Linux මෙහෙයුම් පද්ධතිය භාවිතා කිරීමේ හැකියාව පවතී. මෙහිදී පරිශීලකයන් අතර ගොණු ප්‍රවේශය (file access) පාලනය කිරීම (controlling) මෙහෙයුම් පද්ධතියේ ප්‍රධාන කාර්යයකි.

Linux යනු ආරම්භයේ සිට ම පරිගණක ජාලකරණය (computer networking) මත පදනම් වූ මෙහෙයුම් පද්ධතියක් නිසා එකවර පරිශීලකයන් (users) විශාල ගණනකට තනි තනිව (individual) හෝ හවුලේ (shared) ගොණු භාවිතයට ඉඩ ලබාදී ඇත. තවද පරිශීලකයන්ගේ පුද්ගලිකත්වය (privacy) රැකෙන පරිදි අනවසරෙන් වෙනත් පරිශීලකයන් ගොණු වලට පිවිසීම (unauthorized access) වැලැක්වීමේ හැකියාව Linux සතුව පවතී. සාමාන්‍යයෙන් පරිගණක ජාලයක පරිශීලකයන් කළමනාකරණය (user management) කිරීම පහසු කරගැනීම සඳහා විවිධ කණ්ඩායම් (groups) වලට වෙන් කිරීම නිතැතින් සිදු වන්නකි. උදාහරණයක් ලෙස කාර්යාලයක නම් ගිණුම් (Accounts) අංශය, මානව සම්පත් කළමනාකරණය (Human resources), නීති (Law) අංශය වැනි විවිධ අංශ යටතේ පරිශීලක ඛාණ්ඩ (user groups) නිර්මාණය කිරීමට සිදුවේ. එමගින් එක් එක් අංශයෙන්හි භාවිතා වන ලිපිගොණු වල රහස්‍යභාවය රකින අතර ම අදාළ පරිශීලක ඛාණ්ඩයට (user group) පමණක් ගොණු හවුලේ භාවිතා කිරීමේ අවස්ථාව සැලසේ. ඇතැම් විට පරිශීලකයන් groups කිහිපයක සිටිය හැකි බැවින් (උදා.: කළමණාකරුවන්) ඒ පිළිබඳව සිතා බැලීමට ද සිදුවේ. මෙහිදී ගොණු අවසරයන් (file permission) යොදා ගනිමින් ඉතා නම්‍යශීලී ලෙස සහ කාර්යක්‍ෂම  ව අපගේ කාර්යය ඉටුකර ගැනීමට පිළිවන. වඩා වැදගත් කාරණය නම් Windows මෙහෙයුම් පද්ධතිය මෙන් නොව Linux හි ගොණු අවසරයන් (file permissions) සම්බන්ධ ක්‍රියාවලිය සැඟවීමකින් තොරව කාහටත් තේරුම් ගතහැකි පරිදි නිර්මාණය කර තිබීමයි. එහෙත් එමගින් මෙහෙයුම් පද්ධතියේ ආරක්‍ෂාවට කිසිදු හානියක් සිදුවී නොමැත. (සත්‍ය වශයෙන්ම Linux යනු Windows වලට වඩා ඉතාමත් ආරක්ෂාකාරී මෙහෙයුම් පද්ධතියකි.)

ගොණු අවසරයන් (File permissions)

මේ යටතේ කළමනාකරණය කරනු ලබන පරිශීලකයන් (users) කොටස් තුනකට බෙදා දැක්විය හැකිය.

  1. ගොණු හිමිකරුවා (file owner – u) – බොහෝ විට ගොණුව නිර්මාණය කල පරිශීලකයා (created user) එහි හිමිකරුවා (owner) බවට පත්වේ.
  2. කණ්ඩායම් සාමාජිකයන් (group members – g) – කිසියම් පරිශීලකයෙකු අයත් වන කණ්ඩායමේ (group) සිටින අනෙක් සාමාජිකයන් මේ යටතට ගැනේ. මෙය හවුලේ ගොණු භාවිතයේදී ඉතා වැදගත් ය.
  3. අනෙකුත් අය (others – o) – පෙර සඳහන් කල දෙකොටසට ම අයත් නොවන සියලු පරිශීලකයන් අයත් වන්නේ මෙම ඛාණ්ඩයටයි. කෙසේ වෙතත් Linux හි පරිපාලක ගිණුම වන root user මෙයට අයත් නොවේ.

පහත රූප සටහන මගින් ඉහත කොටස් පිලිබඳ පැහැදිලි අවබෝධයක් ලබාගත හැකිය.

user-groups
User types

වැදගත්: root user සියලු file permissions අභිබවා සිටින අතර ඕනෑම පරිශීලක ගොණුවකට/ගිණුමකට පිවිසීමේ හැකියාව පවතී. මේ නිසා root හි මුරපදය (password) වෙනත් පුද්ගලයන් අතට පත්වීමට කිසිසේත් ඉඩ නොතැබිය යුතුය.

File permissions යටතේ පාලනය කරනු ලබන අවසරයන් (permissions) ද ප්‍රධාන කොටස් තුනකට වෙන් කෙරේ.

  1. කියවීමේ අවසරය (read permission – r) – කිසියම් ගොණුවක් වෙත පිවිස එහි අන්තර්ගතය (content) බැලීම සඳහා පරිශීලකයෙකුට එම ගොණුවට අදාළ ව කියවීමේ අවසරය (read permission) ලබාදී තිබිය යුතුය.
  2. ලිවීමේ අවසරය (write permission – w) – මෙහි ලිවීමේ අවසරය ලෙස අදහස් වන්නේ ගොණුවේ අන්තර්ගතය වෙනස් කිරීමේ (modify) හැකියාවයි.
  3. ක්‍රියාත්මක කිරීමේ අවසරය (execute permission – x) – මෙය විශේෂ වශයෙන් ක්‍රමලේඛ (programs) සහ කුඩා ක්‍රියාත්මක ගොණු (script files) සමග යෙදෙන අවසර ලබාදීමකි. Command line හි සියලු commands ක්‍රියාත්මක වන්නේ ඒවාට මෙම executable permissions ලබාදී ඇති බැවිනි. ඔබ නිර්මාණය කරන කුඩා ක්‍රියාත්මක ගොණු (script files) වලට ද මෙය එකසේ අදාළ වේ.

සටහන: Read permission මගින් ගොණුවට පිවිසීමේ හැකියාව පාලනය කරන බැවින් එම අවසරය ලබාදී නොමැති විටෙක අනෙක් අවසරයන් මගින් කිසිදු පලක් නොවේ. (පහත උදාහරණය බලන්න.)

read-permission-error
read permission error

පරිශීලක සහ ඛාණ්ඩ අනන්‍යතාව (user & group identities)

පරිගණකය සෑමවිටම එහි අභ්‍යන්තරික කටයුතු සඳහා සංඛ්‍යාමය නිරූපනයන් (numeric representation) යොදාගනී. Linux මෙහෙයුම් පද්ධතිය මගින් file permissions ලබා දීමේදී ද මෙලෙස users සහ groups වලට සංඛ්‍යාත්මක අගයන් ලබාදීමෙන් ගොණු කළමනාකරණය පහසු කරගෙන ඇත. මෙහිදී සෑම පරිශීලකයෙකුටම (user) සහ පරිශීලක ඛාණ්ඩයකටම (user group)  එයට අනන්‍ය වූ (unique) සංඛ්‍යාත්මක අගයක් ලබාදේ. මේවා පිලිවෙලින් user id (uid) සහ group id (gid) ලෙස හැඳින්වේ.

පරිශීලකයෙකු සාමාන්‍යයෙන් මූලික ඛාණ්ඩයකට (primary group) අයත් වන අතර, අමතර වශයෙන් වෙනත් ඛාණ්ඩ වලට ද ඇතුළත් වීමේ හැකියාව පවතී. බොහෝ Linux මෙහෙයුම් පද්ධති වල කිසියම් පරිශීලක ගිණුමක් නිර්මාණයේදී user id/name හා සැසඳෙන පරිදි group id/name ස්වයංක්‍රියව නිර්මාණය වේ. Ubuntu මත පදනම් වූ Linux නිකුතු (Linux Mint වැනි) වල මෙහි සංඛ්‍යාත්මක අගය 1,000  ආරම්භ කර ඇත. root user හි user id සහ group id ලෙස 0 (zero) ලබාදී ඇති අතර එය root හැර වෙනත් කිසිදු group එකකට අයත් නොවේ.

කිසියම් පරිශීලකයෙකුට අදාළ ව ඉහත තොරතුරු බලා ගැනීම සඳහා id command සමග පරිශීලක නාමය (username) ලබාදීම කල හැකිය. id command පමණක් ලබාදුන් විට දැනට shell එක භාවිතා කරන පරිශීලකයාගේ තොරතුරු දැක්වේ.

id-command
id command

සටහන: users සහ groups පිලිබඳ තොරතුරු කිසිදු සැඟවීමකින් තොරව පාඨ ගොණු (text files) වල ගබඩා කර ඇත. /etc/passwd සහ /etc/groups ගොණු වෙත පිවිසීමෙන් අවශ්‍ය නම් එම තොරතුරු බලා ගැනීමට හැකියාව ඇත.

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

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

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 ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )