අවසරයි!! chmod සහ chown

ලිනක්ස් වල ෆයිල් සහ ගොනු හැඩ ගැසී ඇති ආකාරය තේරුම් ගැනීම එහි වැඩ කිරීමෙදි ඉතාමත් වැදගත්. මේ දැන් පිටපත් කරපු ෆයිල් එකක් වෙනස් කරන්න බෑ කියලා කියනකොට, ගොනුවක්/ඩිරෙක්ටරියක් විවෘත කර ගන්න බෑ කියනකොට වෙන්නේ මොකද්ද කියලා පොඩ්ඩක් හරි අදහසක් තියෙනවා නම් ඉක්මනට විසඳුමක් හොයාගන්න පුලුවන්.

ලිනක්ස් වලදි ඕනෙම දෙයක් ෆයිල් එකක්. සාමාන්‍යයෙන් ෆයිල් වර්ග කිහිපයක් තියෙනවා.

  • සාමාන්‍ය ෆයිල්
  • ඩිරෙක්ටරි
  • සම්බන්ධක (Symbolic links)

මේවා අතුරින් ප්‍රධාන කිහිපයක්. මේ ඕනෙම ෆයිල් එකක් පරිශීලකයින් වර්ග තුනකින් පාවිච්චි කරන්න පුලුවන්.

  • අයිතිකරු(Owner/User – u)
  • සමූහය (Group – g)
  • වෙනත් (Other – o)

ඒ වගේම ඕනෙම ෆයිල් එකක සිදු කරන්න පුලුවන් කාර්යයන් (හෝ කාර්යයන් කිරීමට අවශ්‍ය permission) තුනක් තියෙනවා.

  • කියවීම (Read – r)
  • ලිවීම/වෙනස් කිරීම (Write – w)
  • ක්‍රියා කරවීම (Execute – x)

එතකොට අපිට මේ permission කිහිපය පහත ආකාරයට දක්වන්න පුලුවන්.

u – rwx, g – rwx, o – rwx

දැන් ලිනක්ස් ටර්මිනලයක් ඇතුලේ ඔබගේ ~ ගොනුව තුල ls -l විධානය ලබා දෙන්න.

ls -l(1)මම මෙය test නැමැති ඩිරෙක්ටරිය ඇතුලේ සිදු කලා. මෙහි දැන් පෙනෙන්නේ එම ඩිරෙක්ටරිය ඇතුලේ තියෙන ෆයිල් ටික. හැම ෆයිල් පේළියක් මුලින්ම තියෙන -rw-r–r– කියන අකුරු ටික පේනවද? මේ තමයි අදාල ෆයිල් එකට තියෙන permission. වම් පැත්තේ ඉඳන් බලනකොට මේවාට අදාල අකුරු වලින් කියන්නේ මේවායි. පළමු අකුරින් කියන්නේ අදාල ෆයිල් එක මොන ආකාරයේ එකක් ද කියලා.

  • “-” – සාමාන්‍ය ෆයිල් එකක්
  • “d” – ඩිරෙක්ටරියක්
  • “l” – සම්බන්ධකයක් (symbolic link)

සාමාන්‍යයෙන් ලිනක්ස් වලදි ඩිරෙක්ටරි නිල් පාටින් පෙන්වනවා. ඒක වෙනස් වෙන්න පුලුවන්.

මීළඟට තිබෙන අකුරු නමය තුනේ කොටස් (rwx) තුනකට බෙදන්න පුලුවන්. මේ තුන පිළිවෙලින් user-group-other යන පරිශීලක කොටස් තුනට අදාල permission ටික. මෙහි ඇති ෆයිල් තුනම හදපු වෙලාවට පසුව permission වෙනස් කලේ නෑ. එසේනම් rw-r–r– කියන්නේ ෆයිල් එකක් සෑදු පසු default ඇති permission ටික. අයිතිකරුට කියවන්න සහ වෙනස් කිරීමට අයිතිය තියෙනවා (rw-). “-” කියන්නේ අදාල permission එක නැති බවයි. ඉන්පසු සමූහයට කියවීමේ අයිතියි විතරක් ලබාදී තිබෙනවා. මේ කොටස් දෙකටම අදාල නැති අයටත් කියවීමට හැකියි.

දැන් අපි සිතමු file1 ෆයිල් එක ක්‍රියා කරවීමට අපිට (අයිතිකරුට) අවශ්‍ය බව. එසේනම් මෙම permission වෙනස් කල යුතුයි. ලිනක්ස් වලදී මෙය සිදු කරන්නේ chmod නැමැති විධානයෙන්.මෙය සිදු කල හැක්කේ අයිතිකරුට පමණයි.

chmod u+x file1

මෙයින් කියන්නේ file1 ෆයිල් එකේ අයිතිකරුට (u) ක්‍රියාකරවීමට (x) permission එක ලබා දිය යුතු (+) බවයි. දැන් නැවත ls -l විධානය ලබා දී බලන්න.

ls -l(2)දැන් file1 ෆයිල් එක ඉදිරිපිට ඇති අකුරු පෙළියේ ඇති වී ඇති වෙනස්කම බලා ගත් හැකියි. මේ ආකාරයටම අපිට file2 ෆයිල් එක කියවා(r) වෙනස් කර(w) ක්‍රියාකරවීමට(x) සමූහයට(g) හා වෙනත් අයට(0) permission ලබා දීමට අවශ්‍ය නම් පහත විධානය ලබා දිය හැක.

chmod go+rwx file2

ls -l(3)අපි එකතු කරපු permission අයින් කරන්න අවශ්‍ය නම් භාවිත කරන්නෙත් chmod විධානයයි. permission එකතු කරද්දි අපි + ලකුණ යොදා ගත්තා. ඉවත් කරද්දි ඒ වෙනුවට – ලකුණ යොදා ගන්නවා. අපි අන්තිමට සමූහයට හා වෙනත් අයට ලබා දුන් සියලු permission ඉවත් කරමු.

chmod go-rwx file2

මෙම විධානය වෙනුවට අපිට පහත විධානයත් යොදා ගත හැකියි. මෙහිදී සිදුවෙන දේ වෙනස්. නමුත් අවසාන ප්‍රථිපලය වෙනස්.මෙහිදි go= යනුවෙන් කියන්නේ මෙම කොටස් දෙකට කිසිදු permission එකක් ලබා නොදෙන්න කියලා.

chmod go= file2

ls -l(4)

අපි permission ලබා දුන්නේ අකුරු භාවිතා කරමින්. නමුත් මෙම කාර්යයම අංක භාවිතා කරමින් සිදු කරන්න පුලුවන්. rwx යන permission තුනට පිළිවෙලින් දෙකේ පාදයේ බල යොදා ගන්න පුලුවන්.

r – 22 = 4

w – 21 = 2

x – 20 = 1

එවිට rw- permission එකක අගය 6 (4+2+0) වෙනවා. එවිට rw-r–r– යන permission ලබා දෙන්නේ 644 ලෙසයි. මෙහිදී 6 අයිතිකරුටත්, 4 සමූහයටත්, තුන්වැනි 4 වෙනත් අයටත් අදාල permission සඳහායි. file3 ෆයිල් එක අයිතිකරුට rwx යන සියලු permission, සමූහයට rw- permission, වෙනත් අයට r– permission ලබා දීමට පහත විධානය භාවිතා කල හැකියි.

chmod 764 file3

ls -l (5)

මේ වනතෙක් file1 හා  file2 වලට සිදු කල සියලු වෙනස්කම් සිදු කල යුත්තේ ඒවා නිර්මාණය කරපු අයිතිකරුවන් විසින්. අයිති කරු ෆයිල් එකට අදාල පේළියේ වමේ සිට තුන්වන column එකේ පෙන්වනවා. අපිට මෙම අයිතිකරු වෙනස් කිරීමට, එනම් ෆයිල් එකක අයිතිය වෙනත් අයෙකුට පැවරීමට chown යන විධානය භාවිතා කල හැකියි.

මුලින්ම ටර්මිනලයේ root ලෙස login වෙන්න. මේ සඳහා su විධානය භාවිතා කල හැකියි. ඉන්පසු පහත විධානය ලබා දෙන්න.

cd /home/username/

මෙහි username වෙනුවට ඔබ කලින් සිටි පරිශීලක නම ලබා දෙන්න. ඉන්පසු හිස් ෆයිල් එකක් නිර්මාණය කිරීම සඳහා පහත විධානය ලබා දෙන්න.

touch testfile1

ඉන්පසු ls -l විධානය ලබා දී බලන්න. ඔබට testfile1 වල අයිතිය ඇත්තේ root හට බව පෙනෙයි. මෙය වෙනස් කිරීමට වෙනත් අයෙකුට බැහැ. දැන් අපි සිතමු chamila පරිශීලකයා හට එහි අයිතිය පවරා දීමට අවශ්‍යයි කියා. මෙය සිදු කිරීමට පහත විධානය root ලෙස ලබා දෙන්න.

chown chamila testfile1

දැන් ls -l විධානය ලබා දුන්නොත් අදාල ෆයිල් එකේ අයිති කරු chamila ලෙස වෙනස් වී ඇති බව පෙනෙයි. නමුත් එහි සමූහය තවමත් root ලෙස ඇත. සමූහයත් chamila ලෙස වෙනස් කිරීමට පහත ආකාරයට විධානය ලබා දිය යුතුයි.

chown chamila:chamila testfile1

complete(1)

8 thoughts on “අවසරයි!! chmod සහ chown

  1. ඉතා දැඩි කැපවීමකින් යුතුව පළකර ඇති බ්ලොග් පෝස්ටයකි. ලිනක්ස් ටර්මිනලයේ ඇති බලසම්පන්න විදානයක් ඔබ අපූරුවට පහදා දී ඇත.

    දිගටම ලියන්න.

    ජය වේවා…

  2. හප්පා මේකෙ දිග. ලිනක්ස් පාවිච්චි කරනවා නම් දැන ගෙනම ඉන්න ඕන කරුණු ටිකක්.

  3. Sabayon වල දී ඔය අයිතිය ගැන ප්‍රශ්නේ තදට ආපු නිසා partition වලට mount point එකක් නොදී removable විදිහටම පාවිච්චි කළා, දැන් ඉතින් ඒවා අයිතිකරගත හැකි. 755, 644 වගේ අංකවල තේරුම දැන් තමයි දැනගත්තේ. ස්තුතියි

Return Fire!