Slik deaktiverer du 'su'-tilgang for Sudo-brukere


Su-kommandoen er en spesiell Linux-kommando som lar deg kjøre en kommando som en annen bruker og gruppe. Den lar deg også bytte til root-kontoen (hvis den kjøres uten noen argumenter) eller en annen spesifisert brukerkonto.

Alle brukere har som standard tilgang til su-kommandoen. Men som systemadministrator kan du deaktivere su-tilgang for en bruker eller gruppe brukere ved å bruke sudoers-filen som forklart nedenfor.

Sudoers-filen driver sudo sikkerhetspolicy-plugin som bestemmer en brukers sudo-rettigheter. sudo-kommandoen lar brukere kjøre programmer med sikkerhetsrettighetene til en annen bruker (som standard, som rotbruker).

For å bytte til en annen brukerkonto kan en bruker kjøre su-kommandoen fra sin nåværende påloggingsøkt som vist. I dette eksemplet bytter brukeren aaronk til en testbruker-konto. Brukeren aaronk vil bli bedt om å angi passordet for testbrukerkontoen:

su testuser

For å bytte til root-kontoen må en bruker ha root-passordet eller ha rettigheter til å påkalle sudo-kommandoen. Med andre ord, brukeren må eksistere i sudoers-filen. I dette eksemplet bytter brukeren aaronk (en sudo-bruker) til root-kontoen.

Etter å ha påkalt sudo, blir brukeren aaronk bedt om å skrive inn passordet sitt, hvis det er gyldig, får brukeren tilgang til et interaktivt skall som root:

sudo su

Deaktiver su-tilgang for en Sudo-bruker

For å deaktivere su-tilgang for en sudo-bruker, for eksempel aaronk-brukeren ovenfor, må du først sikkerhetskopiere den originale sudoers-filen som ligger på /etc/sudoers følgende:

sudo cp /etc/sudoers /etc/sudoers.bak

Åpne deretter sudoers-filen ved å bruke følgende kommando. Merk at det ikke anbefales å redigere sudoers-filen for hånd, bruk alltid visudo-kommandoen:

 
sudo visudo

Under kommandodelen aliaser oppretter du følgende alias:

Cmnd_Alias DISABLE_SU = /bin/su

Legg deretter til følgende linje på slutten av filen, erstatt brukernavnet aaronk med brukeren du ønsker å deaktivere su-tilgang for:

aaronk ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU

Lagre filen og lukk den.

Test deretter for å bekrefte at oppsettet fungerer som følger. Systemet skal returnere en feilmelding som denne: "Beklager, bruker aaronk har ikke lov til å kjøre '/bin/su' som root på tecmint. ".

sudo su

Deaktiver su-tilgang for en gruppe Sudo-brukere

Du kan også deaktivere su-tilgang for en gruppe sudo-brukere. For å for eksempel deaktivere su-tilgang for alle brukere i gruppen admin, endre linjen:

%admin ALL=(ALL) ALL

til dette:

%admin ALL=(ALL) ALL, !DISABLE_SU

Lagre filen og lukk den.

For å legge til en bruker i admin-gruppen, kjør kommandoen usermod (erstatt brukernavnet med den faktiske brukeren):

sudo usermod -aG  admin  username

For mer informasjon om su, sudo og sudoer, sjekk man-sidene deres:

man su
man sudo
man sudoers