Sunday, January 19, 2014

Run Level and GRUB Config

  ဒီနေ့ post မှ စပြီးတော့ ဒီလိုမျိုး ခေါင်းစဉ် မျိုးဆိုရင် RHCSA အတွက် သီးသန့် တင်ပေးထားတာဖြစ်ပါတယ်။ ကျွန်တော်လဲ ဒီလပိုင်းလောက် က စပြီးတော့ RHCSA Course ကို သင်ယူနေတဲ့ အတွက် ပြန်လဲ မှတ်မိအောင် ဒီကိုလာလည်ကြသော မိတ်ဆွေများလဲ သိရှိအောင် RHCSA နဲ့ ပတ်သတ်တဲ့ အပိုင်းတွေကို step by step basic က စ ရေးသွားမှာ ဖြစ်ပါတယ်။

Linux Runlevel
                 Linux runlevel ဆို သည်မှာ မည်သည့် linux distro မှာမဆို ပါရှိပါတယ်။ ကျွန်တော်တို့ windows ဘက်ခြမ်းမှာဆိုရင် Normally windows တက်မလား ဒါမဟုတ် SafeMode နဲ့တက်မှာလား ? အဲလို့ပေါ့ SafeMode နဲ့ဆိုရင် Maintainance Mode လို့လဲ ပြောလို့ရပါတယ် ဘာလို့လဲ ဆို့တော့ကာ မလိုှအပ်သော services တွေ ကို ဒီ SafeMode မှာ disable လုပ်ထားပြီး windows maintainance လုပ်ရုံလောက်ပဲ သုံးခွင့်ပေးထား ခြင်းဖြစ်ပါတယ်။ အခု linux runlevel ဆိုသည်မှာ လဲ ထိုနည်းအတိုင်း ပင်ဖြစ်ပြီး linux မှာတော့ windows ထက်များတဲ့ runlevel တွေ ကိုတွေ့ရမှာ ဖြစ်ပါတယ်။ အဲ့တော့ linux sysadmin များသည် ထို runlevel တွေကို ကောင်းကောင်းအသုံးချနိုင်ရပါမယ်။ အရင်ဆုံး linux runlevel ပုံကို အောက်မှာ ပြထားပါတယ်။
               ပုံမှာ ပြထားသည့်အတိုင်း " # cat /etc/inittab နှင့် ကြည့်ပါက selection ပေးထားသော နေရာမှာ runlevel များကို description နှင့် အတူ ပြထားပါသည်။ ထို အောက်မှာ တော့ လက်ရှိ ရောက်နေတဲ့ runlevel ကို ပြထားပါတယ် ( level 5 ) ဖြစ်ပါတယ်။ #runlevel ဆိုပြီးတော့လဲ ရိုက်ပြီး ကြည့်နိုင်ပါတယ်။
    • runlevel 0 = system shutdown
    • runlevel 1 = single user mode ( maintenance mode )
    • runlevel 2 = multiuser cli (command line interface) without network support
    • runlevel 3 = multiuser cli with network support
    • runlevel 4 = reserved ( still no use )
    • runlevel 5 = multiuser GUI mode with network support
    • runlevel 6 = system reboot 
  • အခု တွေ့နေတဲ့ runlevel များသည် Redhat Based CentOS ပေါ်မှာဖြစ်ပါတယ် Other Distros for example Debian based တွေမှာဆိုရင် runlevel သတ်မှတ်ပုံကွဲပြားပါတယ်။
  • နောက် linux ပေါ်မှာ run မည့် services များကိုလဲ ဘယ် service ကိုတော့ ဘယ် runlevel မှာထား ဆိုပြီးတော့ လဲ အသုံးပြုနိုင်ပါတယ်။ 
           Runlevel 0,1,3,5,6 တွေ ကို ပို အသုံးများကြပါတယ်။ runlevel 1 ကို ပြောရမည်ဆိုရင် windows ရဲ့safe mode ပုံစံ မျိုး သတ်မှတ်နိုင်ပါတယ်။ အသုံးချ စရာ အနေနဲ့ ပြပါဆိုရင်ကျွန်တော်တို့ Disk Tuning လုပ်တာတို့ အခု လာမည့် tutorial မှာလဲ root password recovery ကို ထို runlevel 1 mode နှင့် recover လုပ်မည်ဖြစ်ပါတယ်။ အောက်မှ ပုံကတော့ ကိုယ် လက်ရှိဝင်ရောက်နေတဲ့ runlevel ကိုသိချင်တဲ့အခါသုံးတဲ့ပုံစံဖြစ်ပါတယ်။


             ပုံမှာ ပြထားသည့် အတိုင်း #runlevel ဟု ရိုက်သည့်အခါ ရှေ့ မှာ ပြထားသည့်က အရင်က ဝင်ထားခဲ့ဖူးသည့် runleve ဖြစ်ပြီး နောက်က level သည် current runlevel ဖြစ်သည်။ အရင်ထဲ က runlevel တစ်မျိုးထဲနှင့်ပဲ ဝင်ထားပါက နှစ်ခု ပေါ်မည်မဟုတ်ပါ။

           ထို့နောက် #telinit 3 နှင့် ဝင်လိုက်သောအခါ runlevel 3 ( cli mode ) ကို ရောက်သွားမည် ဖြစ်ပါသည်။ runlevel 3 သည်  cli mode with network support  ဖြစ်သည်။ တစ်နည်းအားဖြင့် linux ကို GUI Mode ဖြင့် install မလုပ်လျှင် ယခု runlevel 3 ဖြင့် default ဝင်ရောက်ရမည်ဖြစ်ပါသည်။ #telinit 5 ဖြင့် နဂို runlevel 5 ( GUI Mode ) ကို ပြန် သွားနိုင်ပါသည်။ 

Resetting Root Password with Runlevel 1
              ရှေ့မှာပြောခဲ့သလိုပဲ runlevel 1 နှင့် ကျွန်တော်တို့ root password ကို reset ချပြမှာဖြစ်ပါတယ်။ အောက်မှာ ရှိသော ပုံများနှင့်တကွ step by step ပြောပြထားပါတယ်။
  •  အခု root password incorrect ဖြစ်နေပါတယ်။ဒီတော့ ကျွန်တော်တို့ runlevel 1 ကို အသုံးပြုဖို့ရာ OS ကို restart ချရမည်ဖြစ်ပြီး boot တက်နေစဉ် အချိန်မှ စပြီး configuration လုပ်မည်ဖြစ်ပါတယ်။

  •  ပုံမှာ ပြထားသည့်အတိုင်း "e" ကို နုှိပ်ပါက ကျွန်တော်တို့ config ကို စတင် edit လုပ်တော့မှာဖြစ်ပါတယ်။
  • အခု " e " ကို နှိပ်ပြီး ရောက်လာသည့် page မှ kernel ဟု ပြောထားသော အလယ်စာကြောင်းကို select လုပ်ရျ် ထပ်ပြီး ဝင်ဖို့အတွက် " e " ကို နှိပ်ရမှာဖြစ်ပါတယ်။ ပြောချင် တာက kernel စာကြောင်းထဲ့သို့ ဝင်ပြီး edit လုပ်ရမှာပါ။
  • စာကြောင်းထဲသို့ ဝင်ရောက်ပြီးသောအခါ "quiet" ဆိုသည့် စာလုံးနောက်တွင် "single or 1 " ဆိုပြီးရိုက်ထည့်ရမှာဖြစ်ပါတယ်။ ပြီးရင်တော့ "enter" ခေါက်ရျ် save ပါမယ်။
  • ပြီးရင်တော့ အရင်မူလနေရာကို ပြန်ရောက်လာမှာဖြစ်ပြီး "b" ကို နှိပ်ကာ OS boot တက်မည်ဖြစ်ပါသည်။ အခု boot တက်ချိန်ကစပြီး OS သည် runlevel 1 (or) single mode ဖြင့် ဝင်ရောက်မည်ဖြစ်ပါသည်။
အခု #runlevel command နှင့် ကြည့်သောအခါ single mode သို့ရောက်ရှိနေတာကိုတွေ့ရပါမည်။ထို့နောက် အောက်ကပုံတွင် root ကို password reset ချမည်ဖြစ်ပါသည်။
  • password successfully reset ဖြစ်သွားသောအခါ #init 6 ဖြင့် OS ကို reboot ချပြီး Normal Mode ဖြင့်တက်မည်ဖြစ်ပါတယ်။ ဒီနေရာမှာ ခုနက edit ဝင်ပြင်ခဲ့သောနေရာတွင် ရိုက်ခဲ့သော "single" ဆိုသည့်စာလုံးကို ပြန်ဝင်ပြီး ဖျက်စရာမလိုပါ။ ထိုနေရာသည် temporary နေရာဖြစ်သောကြောင့် restart ချသည်နှင့် auto normal mode ဖြင့် ပြန်တက်သွားမည်ဖြစ်ပါတယ်။
Securing Boot Loader 
            အခု ကျွန်တော်တို့ လုပ်ပြခဲ့သည့် root password reset ကို တစ်ခြားသူတစ်ယောက်ယောက်မှ နည်းသိလျှင်လည်း reset ချနိုင်သောကြောင့် secure ဖြစ်စေရန် boot loader ကို password ပေးထား မည်ဖြစ်သည်။ Boot loader အကြောင်းကိုပြောလျှင် linux တွင် boot loader နှစ်မျိုးရှိပါတယ်။ " Grub Boot Loader "  နှင့် " LILO Boot Loader " ဆိုပြီးတော့ပါ။ အခုပြုလုပ်နေတာတွေသည် ' GRUB Boot Loader ' ပေါ်မှာဖြစ်ပါတယ်။ Grub ကိုပိုပြီး အသုံးများကြပါတယ်။
             အရင်ဆုံး GRUB အတွက် password ထားရန် သတ်မှတ်မည်ဖြစ်ပါတယ်။ root access ဖြင့် #/sbin/grub-md5-crypt ဆိုပြီး md5့hast ဖြင့် သတ်မှတ်ရပါမည်။ ပုံတွင်ပြထားပါသည်။

  • Enter ခေါက်လိုက်သောအခါ password လာတောင်းမည်ဖြစ်ပြီး password ကို secret password ပုံစံဖြင့် ထုတ်ပြမည် ဖြစ်ပါသည်။

  • ထို့နောက် grub config file ထဲသို့ ဝင်ပြင်မည်ဖြစ်ပါတယ်။ config file ထဲတွင် Timeout ဆိုသည့် စာကြောင့်၏ အောက်တွင် password --md5 password ဆိုပြီး ရိုက်မည်ဖြစ်ပါသည်။ အခု ဒီ GRUB Config File တွင် ပြင်မှသာ permanently effect ဖြစ်မှာဖြစ်ပါတယ်။ ပြောချင်တာ က အောက်ကပုံမှာ quiet ဆိုတဲ့ စာကြောင်း သည် kernel စာကြောင်းထဲ မှ ဖြစ်ပြီး ခုနက tutorial မှာ quiet ၏နောက်က single ဆိုပြီးထည့်ခဲ့သော စာကြောင်းဖြစ်ပါတယ်။
  •  ပြင်ဆင်ပြီး သွားသောအခါ OS ကို reboot ချမည် ဖြစ်ပါတယ်။ 
  • အခု နေရာ မှာ အရင်လို တစ်ခါထဲ "e" ကို နှိပ်ရျ် ဝင်လို့ မရတော့ပဲ "p" ကိုနှိပ်ပြီးတော့ password ရိုက်ထည့်မှသာ ရတော့မည်ဖြစ်ပါတယ်။  Tutorial ကတော့ ပြီးပါပြီ တစ်ခု ပြောချင်တာက အခုလို password ပေးလိုက်လို့ secure ဖြစ်တယ်လို့ထင်ပါတယ် ဒါပေမဲ့လည်း မကောင်းသူက အခုလိုနေရာထိတောင် ရောက်နေမှတော့ ဒါမရလဲ တစ်ခြားဟာတွေ ကိုဖျက်ဆီး ပစ်လိုက်လို့ရပါတယ်။ ဒါကြောင့် physical security ရယ် system security များကို ကောင်းကောင်း အသုံးချတက်မှ ပဲ security ကောင်းမွန်တယ်လို့ပြောလို့ရနိုင်မှာပါ။









Share:

0 comments:

Post a Comment