Skjul dine processer fra andre brugere i Linux
Alle moderne multi-tasking operativsystemer, herunder Linux, kører en række processer for hver af de opgaver, der udføres. Et notesblokprogram er en proces, et terminalvindue er en proces, SSH-serveren er en proces, hver SSH-forbindelse er en proces og så videre. Linux planlægger de forskellige systemressourcer (CPU-tid, hukommelse, I / O), så hver proces får mulighed for at køre.
For at se listen over aktuelle processer kører, kan du bruge kommandoen ps
. Prøv dette i en terminal:
ps aux
aux
parametrene fortæller ps
at liste alle systemprocesser med ekstra information om, hvem der ejer processerne, og hvilke kaldeparametre der blev brugt.
Som du kan se, viser listen processer, der ejes af forskellige brugere, herunder "pi" (standard Raspbian-bruger på en Raspberry Pi), "root" og "www-data". Her er et lidt ændret skærmbillede, der viser processerne sammen med mere detaljerede detaljer om kommandoer og deres parametre.
Hvis du ser ned på listen, vil du se kommandoen nano MYBANKACCOUNTNUMBER.TXT
som ejes af brugeren "john." Forestil dig, om filnavnet var lidt mere afslørende end eksemplet; Sådanne data er udsat for alle brugere på systemet og kan bruges til ondsindede formål.
Siden Linux kernel 3.2 er der en måde at stoppe brugerne adgang til information om processer, som de ikke ejer. ps
kommandoen får procesoplysningerne fra / proc-filsystemet (hvor "proc" er kort for processen). Der er en ny parameter kaldet "hidepid", som bruges, når / proc filsystemet er monteret. Det kan skjule processer og kontrollere, hvem der har adgang til oplysningerne under / proc.
- hidepid = 0 - Standardadfærden, hvor en bruger kan læse filerne under / proc / PID /
- hidepid = 1 - Det betyder, at brugerne ikke har adgang til nogen / proc / PID / underkatalog undtagen deres egne. Også filer som cmdline, io, sched *, status, wchan er utilgængelige for andre brugere.
- hidepid = 2 - Alt fra hidepid = 1, plus alle / proc / PID / underkataloger vil være skjult for andre brugere.
/ Proc-filsystemet kan genmonteres på farten ved hjælp af remount-optionen til mount
kommandoen. For at teste hidepid kan du omsætte / proc filsystemet som dette:
sudo mount -o remount, rw, hidepid = 2 / proc
Nu kan du prøve ps
kommandoen igen:
ps aux
Nu viser output kun processer, der ejes af brugeren "pi".
For at gøre denne ændring permanent, skal du redigere din PIs "/ etc / fstab" -fil. Filen "fstab" styrer hvilke filsystemer der er monteret ved opstart.
sudo nano / etc / fstab
Og find linjen som lyder:
proc / proc proc standardindstillinger 0 0
Og skift det til:
proc / proc proc standardindstillinger, hidepid = 2 0 0
Afslut editoren ved hjælp af "Ctrl + X." Genstart nu din Raspberry Pi. Når det genstarter, skal du kontrollere, at / proc filsystemet er monteret med de rigtige muligheder. Første brug mount
og grep
at se de aktuelle muligheder:
mount | grep skjult
Prøv nu ps
kommandoen, præcis som vi har gjort ovenfor:
ps aux
Bemærk nu, at kun processer ejet af "pi" er synlige, men i modsætning til før, da vi remounted / proc filsystemet, er dette nu den permanente indstilling. Men et ord med advarsel, selv når skjult er brugt, kan "root" stadig se alle processerne og kaldeparametrene.
Den ovenfor anvendte teknik virker på andre Linux-maskiner og distributioner, ikke kun Raspberry Pi med Raspbian. Hvis du har spørgsmål om at bruge "skjul" -alternativet på / proc-filsystemet, er du velkommen til at bruge kommentarafsnittet nedenfor, og vi vil se, om vi kan hjælpe.