Sådan beskyttes enbruger-tilstand med adgangskode i CentOS 7


I en af vores tidligere artikler beskrev vi, hvordan man starter i enkeltbrugertilstand på CentOS 7. Det er også kendt som “vedligeholdelsestilstand”, hvor Linux kun starter en håndfuld tjenester til grundlæggende funktionalitet for at tillade en enkelt bruger (typisk en superbruger ) udføre visse administrative opgaver, såsom at bruge fsck til at reparere beskadigede filsystemer.

I enkeltbrugertilstand udfører systemet en enkeltbruger-skal, hvor du kan køre kommandoer uden loginoplysninger (brugernavn og adgangskode), du lander lige i en begrænset skal med adgang til hele filsystemet.

Dette er et massivt sikkerhedshul, da det giver ubudne gæster direkte adgang til en shell (og mulig adgang til hele filsystemet). Derfor er det vigtigt at beskytte den enkeltbruger-tilstand med adgangskode på CentOS 7 som forklaret nedenfor.

I CentOS/RHEL 7 er rednings- og nødmål (som også er enkeltbrugertilstande) adgangskodebeskyttet som standard.

For eksempel når du forsøger at ændre målet (runlevel) via systemd til rescue.target (også emergency.target), bliver du bedt om en root-adgangskode som vist i det følgende skærmbillede.

# systemctl isolate rescue.target
OR
# systemctl isolate emergency.target

Men hvis en ubuden gæst har fysisk adgang til en server, kan han eller hun vælge en kerne, der skal startes fra grubmenupunktet ved at trykke på e -tasten for at redigere den første startmulighed.

På kernelinjen, der starter med “linux16” , kan han/hun ændre argumentet ro til “rw init =/sysroot/bin/sh” og start i enkeltbrugertilstand på CentOS 7 uden at systemet beder om en root-adgangskode, selvom linjen SINGLE =/sbin/sushell ændres til SINGLE =/sbin/sulogin i filen/etc/sysconfig/init.

Så den eneste måde at kodeordsbeskytte enkeltbrugertilstand i CentOS 7 er at beskytte GRUB med adgangskode ved hjælp af følgende instruktioner.

Sådan beskyttes grub med adgangskode i CentOS 7

Opret først en stærk krypteret adgangskode ved hjælp af grub2-setpassword-hjælpeprogrammet som vist.

# grub2-setpassword

Hash for adgangskoden er gemt i /boot/grub2/user.cfg & user dvs. "root" er defineret i /boot/grub2/grub.cfg fil, du kan se adgangskoden ved hjælp af cat-kommandoen som vist.

# cat /boot/grub2/user.cfg

Åbn nu /boot/grub2/grub.cfg filen, og søg efter den startindgang, som du vil beskytte med adgangskode, den starter med menuentry . Når posten er fundet, skal du fjerne parameteren --unrestricted fra den.

Gem filen, og luk, prøv nu at genstarte CentOS 7-systemet og rediger startposterne ved at trykke på e -tasten, du bliver bedt om at give legitimationsoplysningerne som vist.

Det er det. Du har med succes adgangskodebeskyttet din CentOS 7 GRUB-menu.