Så här skyddar du GRUB med ett lösenord (Linux)

Vi brukar spendera en stor del av vår tid på förhindra obehörig åtkomst till våra team: vi konfigurerar brandväggar, användarbehörigheter, ACL: er, skapar starka lösenord osv. men vi minns sällan skydda start av vår utrustning.

Om någon har fysisk åtkomst till datorn kan de starta om den och ändra GRUB-parametrarna för att få administratörsåtkomst. Att lägga till en '1' eller ett 's' i slutet av GRUB-kärnraden ger dem denna åtkomst.


För att undvika detta kan du skydda GRUB med ett lösenord så att om det inte är känt är det inte möjligt att ändra dess parametrar.

Om du har GRUB-startladdaren installerad (vilket är vanligast om du använder de mest populära Linux-distributionerna) kan du skydda varje post i GRUB-menyn med ett lösenord. På det här sättet, varje gång du väljer ett operativsystem att starta, kommer det att fråga dig om lösenordet du har angett för att starta systemet. Och som en bonus, om din dator blir stulen kommer inte inkräktare att kunna komma åt dina filer. Låter bra, eller hur?

GRUB 2

För varje Grub-post kan en användare upprättas med behörighet att ändra parametrarna för de poster som GRUB visas när systemet startar, förutom superanvändaren (den som har tillgång till att ändra Grub genom att trycka på “e” -tangenten). Vi gör det i filen /etc/grub.d/00_header. Vi öppnar filen med vår favoritredigerare:

sudo nano /etc/grub.d/00_header

I slutet klistra in följande:

katt < < EOF
set superusers=”användare1″
lösenord användare1 lösenord1
EOF

Där user1 är superanvändare, exempel:

katt < < EOF
set superusers = "superuser"
lösenord för superanvändare 123456
EOF

För att skapa fler användare, lägg till dem nedan:

lösenord för superanvändare 123456

Det skulle se mer eller mindre ut enligt följande:

katt < < EOF
set superusers="superuser"
lösenord för superanvändare 123456
lösenord användare2 7890
EOF

När vi väl har etablerat vilka användare vi vill spara vi ändringarna.

Skydda Windows 

För att skydda Windows måste du redigera filen /etc/grub.d/30_os-prober.

sudo nano /etc/grub.d/30_os-prober

Leta efter en kodrad som säger:

menypost "$ {LONGNAME} (på $ {DEVICE})" {

Det ska se ut så här (superanvändaren är namnet på superanvändaren):

menuentry "$ {LONGNAME} (på $ {DEVICE})" - superanvändare {

 
Spara ändringarna och kör:

sudo update-grub

Jag öppnade filen /boot/grub/grub.cfg:

sudo nano /boot/grub/grub.cfg

Och var är Windows-posten (ungefär så här):

menypost "Windows XP Professional" {

ändra det till detta (user2 är namnet på användaren som har åtkomstbehörighet):

menuentry "Windows XP Professional" –användare användare2 {

Starta om och gå. Nu när du försöker komma in i Windows kommer det att fråga dig om lösenordet. Om du trycker på "e" kommer den också att be om lösenordet.

Skydda Linux

För att skydda Linux-kärnposterna redigerar du filen /etc/grub.d/10_linux och letar efter raden som säger:

menypost "$ 1" {

Om du bara vill att superanvändaren ska kunna komma åt den ska den se ut så här:

menuentry "$ 1" –användare user1 {

Om du vill att en andra användare ska kunna komma åt:

menuentry "$ 1" –användare2

Du kan också skydda posten från minneskontrollen genom att redigera filen /etc/grub.d/20_memtest:

menuentry "Memory test (memtest86 +)" - superanvändare {

Skydda alla poster

För att skydda alla körningar:

sudo sed -i -e '/ ^ menuentry / s / {/ –användare superanvändare {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober / etc / grub.d / 40_custom

För att ångra detta steg, kör:

sudo sed -i -e '/ ^ menuentry / s / –användare superanvändare [/ B] {/ {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os- prober /etc/grub.d/40_custom

GRUB

Låt oss börja med att öppna GRUB-miljön. Jag öppnade en terminal och skrev:

grub

Sedan skrev jag in följande kommando:

md5crypt

Det kommer att fråga dig om lösenordet du vill använda. Skriv det och perison Enter. Du får ett krypterat lösenord som du måste hålla mycket noggrant. Nu med administratörsbehörighet öppnade jag filen /boot/grub/menu.lst med din favorittextredigerare:

sudo gedit /boot/grub/menu.lst

För att ställa in lösenordet till de GRUB-menyposter som du föredrar, måste du lägga till följande till var och en av de poster du vill skydda:

lösenord --md5 my_password

Där my_password skulle vara det (krypterade) lösenordet som returneras av md5crypt: Före:

titel Ubuntu, kärna 2.6.8.1-2-386 (återställningsläge)
root (hd1,2)
kärna /boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro singel
initrd /boot/initrd.img-2.6.8.1-2-386

då:

titel Ubuntu, kärna 2.6.8.1-2-386 (återställningsläge)
root (hd1,2)
kärna /boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro singel
initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

Spara filen och starta om. Så lätt! För att undvika, inte bara att en skadlig person kan ändra konfigurationsparametrarna för den skyddade posten utan också att de inte ens kan starta systemet, kan du lägga till en rad i den "skyddade" posten efter titelparametern. Efter vårt exempel skulle det se ut så här:

titel Ubuntu, kärna 2.6.8.1-2-386 (återställningsläge)
låsa
root (hd1,2)
kärna /boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro singel
initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

Nästa gång någon vill starta systemet måste de ange lösenordet.

Källa: Delanover & Makeuseof & Ubuntu Forums & Elavdeveloper


Lägg till som prioriterad källa i Google