What is /etc/passwd file?
What is /etc/passwd file and what it is used for?
/etc/passwd ဆိုတဲ႔ဖိုင္က ဘာလဲ? ဘာအတြက္သံုးတာလဲ?
ဒီဖိုင္ေလးကိုေတာ႔ လူတုိင္းနည္းပါးသိၾကမွာပါ။ Website ေတြကို symlink လုပ္မယ္ဆိုရင္
ေတာ္ေတာ္မ်ားမ်ားက /etc/passwd ကိုအရင္ဖတ္ၿပီး username ေတြကိုသိေအာင္
ရွာေဖြပါတယ္။ ဒါေပမယ္႔ ဒီဖိုင္က ဘာလုပ္ေပးလဲဗ်။ ၿပီးေတာ႔ အဲ႔ဖိုင္ကို ဖြင္႔ၾကည္႔ရင္
ၿမင္ရတာ ဘာေတြလဲမသိဘူးဗ်။
ဘယ္လိုေတြနားလည္ရမလဲမသိဘူးေနာ္။ ဒီေတာ႔ ကြ်န္ေတာ္နည္းနည္း research လုပ္ၾကည္႔တယ္။ ဒီပိုစ္႔ကေတာ႔ ကြ်န္ေတာ္႔ေတြ႔ရိွခ်က္ေတြေပါ႔။
ေအာက္ကပံုကေတာ႔ passwd file ထဲက example line ေလးပါ။
/etc/passwd ဆိုတဲ႔ဖိုင္က ဘာလဲ? ဘာအတြက္သံုးတာလဲ?
ဒီဖိုင္ေလးကိုေတာ႔ လူတုိင္းနည္းပါးသိၾကမွာပါ။ Website ေတြကို symlink လုပ္မယ္ဆိုရင္
ေတာ္ေတာ္မ်ားမ်ားက /etc/passwd ကိုအရင္ဖတ္ၿပီး username ေတြကိုသိေအာင္
ရွာေဖြပါတယ္။ ဒါေပမယ္႔ ဒီဖိုင္က ဘာလုပ္ေပးလဲဗ်။ ၿပီးေတာ႔ အဲ႔ဖိုင္ကို ဖြင္႔ၾကည္႔ရင္
ၿမင္ရတာ ဘာေတြလဲမသိဘူးဗ်။
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
ဘယ္လိုေတြနားလည္ရမလဲမသိဘူးေနာ္။ ဒီေတာ႔ ကြ်န္ေတာ္နည္းနည္း research လုပ္ၾကည္႔တယ္။ ဒီပိုစ္႔ကေတာ႔ ကြ်န္ေတာ္႔ေတြ႔ရိွခ်က္ေတြေပါ႔။
- passwd file ကေတာ႔ login လုပ္ဖို႔မရိွမေန ဖိုင္တစ္ခုပါ။
- ဒီေကာင္ေလးက text file ေလးပါ။
- ပံုမွန္အတိုင္းဆိုရင္ user အားလံုး read access ရပါတယ္။ ဒါေပမယ္႔ root/su(super user) တစ္ေယာက္ပဲ ဒီဖိုင္ကိုၿပင္ႏိုင္မွာပါ။
- User တစ္ေယာက္အတြက္ တစ္လုိင္းအေနနဲ႔မွတ္ထားေပးပါတယ္။ root user ကေတာ႔ ထိပ္ဆံုးလိုင္းေပါ႔ဗ်ာ။
- file ထဲမွာ username ေတြ password ေတြ userid, groupid, home directory, shell path စတာေတြကို ေရးမွတ္ထားပါတယ္။ အားလံုးေပါင္း ခုႏွစ္မ်ိဳးကိုမွတ္ထားေပးတယ္။
- field ေတြတစ္ခုနဲ႔တစ္ခုၾကားမွာ ":" ေကာ္လံနဲ႔ခြဲထားပါတယ္။
ေအာက္ကပံုကေတာ႔ passwd file ထဲက example line ေလးပါ။
- Username : ဒီေကာင္ေလးကေတာ႔ Username ေလးပါ။ Username က စာလံုး 1 လံုးကေန 32 လံုးၾကားပဲထားလို႔ရမွာပါ။
- Password : သာမန္ အတို္င္းဆိုရင္ ဒီေနရာမွာ password မွတ္ထားေလ႔ရိွတယ္။ ဒါေပမယ္႔ x ဆိုတာေလးက password က encrypted လုပ္ၿပီး /etc/shadow ဆိုတဲ႔ဖိုင္ထဲမွာသိမ္းထားတယ္လို႔ေၿပာတာပါ။
- User ID (UID) : ဒါကေတာ႔ရွင္းပါတယ္။ User ေတြအတြက္ ID နံပတ္ေလးေတြခြဲထားေပးတာပါ။ Windows မွာဆိုရင္ SID ေပါ႔ဗ်ာ။ 0 ကေတာ႔ အၿမဲတန္း Root user အတြက္ပဲခ်န္ထားတာပါ။ 1-99 ကေတာ႔ system built-in account ေတြအတြက္။ 100-999 ကေတာ႔ သာမွန္ user ေတြအတြက္ေပါ႔။
- Group ID (GID) : ဒါလည္း ရွင္းပါတယ္။ Group ေတြအတြက္ ID နံပတ္ေပါ႔။ ဘယ္ ID ဘယ္ group ထဲမွာဆိုၿပီး မွတ္ထားတာပါ။ အဲဒီဖိုင္ေလးကေတာ႔ /etc/group ဆိုတဲ႔ဖုိင္ေလးပါ။
- User ID Info : ဒီေကာင္ေလးကက်ေတာ႔ User ေတြအေၾကာင္း ကိုယ္မွတ္ခ်င္တာ မွတ္ထားတဲ႔ေနရာေပါ႔။ Comment ေပးတဲ႔ေနရာပါ။ ပံုထဲမွာကေတာ႔ User ရဲ႕ full name ကုိေပးထားပါတယ္။ ဒါေလးကို finger ဆိုတဲ႔ command ကအသံုးခ်တာပါ။
- Home Directory : user login ၀င္လိုက္ရင္ စစခ်င္းေရာက္သြားမယ္႔ Directory ပါ။ Backtrack မွာဆိုရင္ root user က login ၀င္လိုက္ရင္ /root ဆိုတဲ႔ directory ကိုတန္းေရာက္သြားတာသိၾကမွာပါ။
- Command/Shell : ဒီေနရာေလးကေတာ႔ Command ထည္႔ထားေပးလို႔ရသလို ကိုယ္ၾကိဳက္ႏွစ္သက္တဲ႔ shell ကိုသံုးခ်င္ရင္ ဒီမွာထည္႔ထားလို႔ရတယ္။
ေကာင္းတယ္ ဘရို။ ပိုနားလည္သြားျပီ Passwd အေၾကာင္းကို။ ;)
ReplyDelete