Hvordan stoppe og deaktivere uønskede tjenester fra Linux-systemet


Vi bygger en server i henhold til vår plan og krav, men hva er de tiltenkte funksjonene mens vi bygger en server for å få den til å fungere raskt og effektivt. Vi vet alle at mens du installerer et Linux OS, installeres noen uønskede pakker og applikasjoner automatisk uten en brukers viten.

Når vi bygger en server, må vi spørre oss selv hva vi faktisk trenger fra boksen. Trenger jeg en webserver eller en FTP-server, en NFS-server eller en DNS-server, en databaseserver eller noe annet.

Her i denne artikkelen vil vi diskutere noen av disse uønskede applikasjonene og tjenestene som du kanskje ikke trengte, men de er installert som standard under OS-installasjon og uvitende begynner å spise systemressursene dine.

Gir først beskjed om hva slags tjenester som kjører på systemet ved å bruke følgende kommandoer.

 ps ax
  PID TTY      STAT   TIME COMMAND
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00  \_ [migration/0]
    4 ?        S      0:09  \_ [ksoftirqd/0]
    5 ?        S      0:00  \_ [migration/0]
    6 ?        S      0:24  \_ [watchdog/0]
    7 ?        S      2:20  \_ [events/0]
    8 ?        S      0:00  \_ [cgroup]
    9 ?        S      0:00  \_ [khelper]
   10 ?        S      0:00  \_ [netns]
   11 ?        S      0:00  \_ [async/mgr]
   12 ?        S      0:00  \_ [pm]
   13 ?        S      0:16  \_ [sync_supers]
   14 ?        S      0:15  \_ [bdi-default]
   15 ?        S      0:00  \_ [kintegrityd/0]
   16 ?        S      0:49  \_ [kblockd/0]
   17 ?        S      0:00  \_ [kacpid]
   18 ?        S      0:00  \_ [kacpi_notify]
   19 ?        S      0:00  \_ [kacpi_hotplug]
   20 ?        S      0:00  \_ [ata_aux]
   21 ?        S     58:46  \_ [ata_sff/0]
   22 ?        S      0:00  \_ [ksuspend_usbd]
   23 ?        S      0:00  \_ [khubd]
   24 ?        S      0:00  \_ [kseriod]
   .....

La oss nå ta en rask titt på prosessene som aksepterer tilkobling (porter) ved å bruke netstat-kommandoen som vist nedenfor.

 netstat -lp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 *:31138                     *:*                         LISTEN      1485/rpc.statd      
tcp        0      0 *:mysql                     *:*                         LISTEN      1882/mysqld         
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:ndmp                      *:*                         LISTEN      2375/perl           
tcp        0      0 *:webcache                  *:*                         LISTEN      2312/monitorix-http 
tcp        0      0 *:ftp                       *:*                         LISTEN      2174/vsftpd         
tcp        0      0 *:ssh                       *:*                         LISTEN      1623/sshd           
tcp        0      0 localhost:ipp               *:*                         LISTEN      1511/cupsd          
tcp        0      0 localhost:smtp              *:*                         LISTEN      2189/sendmail       
tcp        0      0 *:cbt                       *:*                         LISTEN      2243/java           
tcp        0      0 *:websm                     *:*                         LISTEN      2243/java           
tcp        0      0 *:nrpe                      *:*                         LISTEN      1631/xinetd         
tcp        0      0 *:xmltec-xmlmail            *:*                         LISTEN      2243/java           
tcp        0      0 *:xmpp-client               *:*                         LISTEN      2243/java           
tcp        0      0 *:hpvirtgrp                 *:*                         LISTEN      2243/java           
tcp        0      0 *:5229                      *:*                         LISTEN      2243/java           
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:http                      *:*                         LISTEN      6439/httpd          
tcp        0      0 *:oracleas-https            *:*                         LISTEN      2243/java         
....

I utdataene ovenfor legger du merke til at noen av applikasjonene du kanskje ikke trengte på serveren din, men at de fortsatt kjører som følger:

smbd og nmbd er demonen til Samba Process. Trenger du virkelig å eksportere smb share på Windows eller annen maskin. Hvis ikke! hvorfor kjører disse prosessene? Du kan trygt drepe disse prosessene og deaktivere dem fra å starte automatisk når maskinen starter opp neste gang.

Trenger du toveis interaktiv tekstorientert kommunikasjon over internett eller lokalnettverk? Hvis ikke! drep denne prosessen og slå av den fra å starte ved oppstart.

Trenger du å logge på en annen vert over nettverk. Hvis ikke! Drep denne prosessen og deaktiver den fra å starte automatisk ved oppstart.

Remote Process Execution aka rexec lar deg utføre skallkommandoer på en ekstern datamaskin. Hvis du ikke trenger å utføre shell-kommando på en ekstern maskin, kan du bare drepe prosessen.

Trenger du å overføre filer fra en vert til en annen vert over Internett? Hvis ikke kan du trygt stoppe tjenesten.

Trenger du å montere forskjellige filsystemer automatisk for å få opp nettverksfilsystemet? Hvis ikke! Hvorfor kjører denne prosessen? Hvorfor lar du denne applikasjonen bruke ressursen din? Drep prosessen og deaktiver den fra å starte automatisk.

Trenger du å kjøre NameServer (DNS)? Hvis ikke, hva i all verden er det som tvinger deg til å kjøre denne prosessen og tillate å spise opp ressursene dine. Drep først den kjørende prosessen og slå den av fra å kjøre den ved oppstart.

lpd er skriverdemonen som gjør det mulig å skrive ut til den serveren. Hvis du ikke trenger å skrive ut fra serveren, er sjansen stor for at systemressursene dine blir spist opp.

Kjører du noen inetd-tjenester? Hvis du kjører frittstående applikasjoner som ssh som bruker andre frittstående applikasjoner som Mysql, Apache, etc., trenger du ikke inetd. bedre avbryt prosessen og deaktiver den automatisk ved neste gang.

Portmap som er et Open Network Computing Remote Procedure Call (ONC RPC) og bruker daemon rpc.portmap og rpcbind. Hvis disse prosessene kjører, betyr det at du kjører NFS-server. Hvis NFS-serveren kjører ubemerket, betyr det at systemressursene dine blir brukt opp unødvendig.

Hvordan drepe en prosess i Linux

For å drepe en kjørende prosess i Linux, bruk 'Kill PID'-kommandoen. Men før vi kjører Kill-kommandoen, må vi kjenne PID-en til prosessen. For eksempel, her vil jeg finne en PID for 'cupsd'-prosess.

 ps ax | grep cupsd

1511 ?        Ss     0:00 cupsd -C /etc/cups/cupsd.conf

Så PID for 'cupsd'-prosessen er '1511'. For å drepe den PID-en, kjør følgende kommando.

 kill -9 1511

For å finne ut mer om kill-kommando med deres eksempler, les artikkelen A Guide to Kill Command for å avslutte en prosess i Linux

Hvordan deaktivere tjenester i Linux

I Red Hat-baserte distribusjoner som Fedora og CentOS, bruk et skript kalt 'chkconfig' for å aktivere og deaktivere de kjørende tjenestene i Linux.

Lar for eksempel deaktivere Apache-nettserveren ved oppstart av systemet.

 chkconfig httpd off
 chkconfig httpd --del

I Debian-baserte distribusjoner som Ubuntu, Linux Mint og andre Debian-baserte distribusjoner bruker man et skript kalt update-rc.d.

For å deaktivere Apache-tjenesten ved oppstart av systemet, utfør for eksempel følgende kommando. Her står -f alternativet for kraft er obligatorisk.

 update-rc.d -f apache2 remove

Etter å ha gjort disse endringene, vil systemet neste gang starte opp uten disse FN-nødvendige prosessene som faktisk vil spare systemressursen vår og serveren vil være mer praktisk, rask, trygg og sikker.

Det er alt for nå. Jeg kommer her igjen med en annen interessant artikkel. Inntil da, følg med og koble til Tecmint. Ikke glem å gi oss din verdifulle tilbakemelding i kommentarfeltet.