Como parar e desativar serviços indesejados do sistema Linux
Construímos um servidor de acordo com nosso plano e requisitos, mas quais são as funções pretendidas ao construir um servidor para que funcione de forma rápida e eficiente. Todos nós sabemos que durante a instalação de um sistema operacional Linux, alguns pacotes e aplicativos indesejados são instalados automaticamente sem o conhecimento do usuário.
Ao construir um servidor, precisamos nos perguntar o que realmente precisamos. Preciso de um servidor Web ou um servidor FTP, um servidor NFS ou um servidor DNS, um Servidor de banco de dados ou qualquer outra coisa.
Aqui neste artigo, discutiremos alguns desses aplicativos e serviços indesejados dos quais você pode não precisar, mas que são instalados por padrão durante a instalação do sistema operacional e, sem saber, começam a consumir os recursos do sistema.
Vamos primeiro saber que tipo de serviços estão sendo executados no sistema usando os seguintes comandos.
[avishek@tecmint]# ps ax
Saída de amostra
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]
.....
Agora, vamos dar uma olhada rápida nos processos que aceitam conexões (portas) usando o comando netstat conforme mostrado abaixo.
[avishek@tecmint]# netstat -lp
Saída de amostra
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
....
Na saída acima, você percebe que alguns dos aplicativos que você pode não precisar em seu servidor, mas ainda estão sendo executados da seguinte forma:
1.smbd e nmbd
smbd e nmbd são daemons do Samba Process. Você realmente precisa exportar o compartilhamento SMB no Windows ou em outra máquina. Se não! por que esses processos estão em execução? Você pode encerrar esses processos com segurança e impedir que eles sejam iniciados automaticamente na próxima vez que a máquina inicializar.
2. Telnet
Você precisa de comunicação interativa bidirecional orientada a texto pela Internet ou rede local? Se não! elimine esse processo e desligue-o desde a inicialização.
3. login
Você precisa fazer login em outro host pela rede. Se não! Mate este processo e desative-o para iniciar automaticamente na inicialização.
4. executar
A Execução Remota de Processo, também conhecida como rexec, permite executar comandos shell em um computador remoto. Se você não precisar executar o comando shell em uma máquina remota, simplesmente elimine o processo.
5. FTP
Você precisa transferir arquivos de um host para outro pela Internet? Caso contrário, você pode interromper o serviço com segurança.
6. montagem automática
Você precisa montar diferentes sistemas de arquivos automaticamente para ativar o sistema de arquivos de rede? Se não! Por que esse processo está em execução? Por que você está permitindo que este aplicativo use seu recurso? Mate o processo e desative-o para iniciar automaticamente.
7. nomeado
Você precisa executar o NameServer (DNS)? Se não, o que diabos está obrigando você a executar esse processo e permitir o consumo de seus recursos. Mate o processo em execução primeiro e, em seguida, desative-o na inicialização.
8. lpd
lpd é o daemon da impressora que torna possível imprimir nesse servidor. Se você não precisar imprimir do servidor, é provável que os recursos do sistema estejam sendo consumidos.
9. Internet
Você está executando algum serviço inetd? Se você estiver executando um aplicativo independente como ssh, que usa outro aplicativo independente como Mysql, Apache, etc., então você não precisa do inetd. é melhor encerrar o processo e desativá-lo, iniciando na próxima vez automaticamente.
10. mapa do porto
Portmap, que é uma chamada de procedimento remoto de computação em rede aberta (ONC RPC) e usa o daemon rpc.portmap e rpcbind. Se esses processos estiverem em execução, significa que você está executando o servidor NFS. Se o servidor NFS estiver funcionando despercebido, significa que os recursos do sistema estão sendo usados desnecessariamente.
Como matar um processo no Linux
Para encerrar um processo em execução no Linux, use o comando ‘Kill PID’. Mas, antes de executar o comando Kill, devemos saber o PID do processo. Por exemplo, aqui quero encontrar um PID do processo ‘cupsd’.
[avishek@tecmint]# ps ax | grep cupsd
1511 ? Ss 0:00 cupsd -C /etc/cups/cupsd.conf
Portanto, o PID do processo ‘cupsd’ é ‘1511‘. Para eliminar esse PID, execute o seguinte comando.
[avishek@tecmint]# kill -9 1511
Para saber mais sobre o comando kill com seus exemplos, leia o artigo Um guia para o comando Kill para encerrar um processo no Linux
Como desabilitar um serviço no Linux
Em distribuições baseadas em Red Hat, como Fedora e CentOS, use um script chamado 'chkconfig' para ativar e desativar os serviços em execução no Linux .
Por exemplo, vamos desabilitar o servidor web Apache na inicialização do sistema.
[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del
Em distribuições baseadas em Debian como Ubuntu, Linux Mint e outras distribuições baseadas em Debian use um script chamado update-rc.d.
Por exemplo, para desabilitar o serviço Apache na inicialização do sistema, execute o seguinte comando. Aqui a opção ‘-f’ significa força é obrigatória.
[avishek@tecmint]# update-rc.d -f apache2 remove
Depois de fazer essas alterações, o sistema da próxima vez inicializará sem esses processos necessários da ONU, o que de fato economizará recursos do sistema e o servidor ficará mais prático, rápido, seguro e protegido.
É tudo por agora. Estarei aqui novamente com outro artigo interessante. Até então fique ligado e conectado à Tecmint. Não se esqueça de nos fornecer seus valiosos comentários na seção de comentários.