Linux Sisteminden İstenmeyen Hizmetler Nasıl Durdurulur ve Devre Dışı Bırakılır


Planımıza ve gereksinimlerimize göre bir sunucu kuruyoruz ancak bir sunucuyu hızlı ve verimli bir şekilde çalışması için kurarken amaçlanan işlevler nelerdir? Hepimiz bir Linux işletim sistemi kurarken bazı istenmeyen Paketlerin ve Uygulamaların Kullanıcının bilgisi olmadan otomatik olarak kurulduğunu biliyoruz.

Bir sunucu oluştururken kutudan gerçekte neye ihtiyacımız olduğunu kendimize sormamız gerekir. Bir Web Sunucusuna mı yoksa FTP Sunucusuna mı, NFS Sunucusuna veya DNS Sunucusuna mı ihtiyacım var? >Veritabanı Sunucusu veya başka bir şey.

Bu makalede, ihtiyaç duymayabileceğiniz ancak işletim sistemi kurulumu sırasında varsayılan olarak yüklenen ve farkında olmadan sistem kaynaklarınızı tüketmeye başlayan bu istenmeyen uygulama ve hizmetlerden bazılarını tartışacağız.

Aşağıdaki komutları kullanarak öncelikle sistemde ne tür servislerin çalıştığını bilelim.

[avishek@tecmint]# ps ax
Örnek Çıktı
  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]
   .....

Şimdi aşağıda görüldüğü gibi netstat komutunu kullanarak bağlantı (port) kabul eden işlemlere hızlıca göz atalım.

[avishek@tecmint]# netstat -lp
Örnek Çıktı
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         
....

Yukarıdaki çıktıda, sunucunuzda ihtiyaç duymayabileceğiniz bazı uygulamaların hala aşağıdaki gibi çalıştığını fark ediyorsunuz:

1.smbd ve nmbd

smbd ve nmbd, Samba Sürecinin arka plan programıdır. Windows'ta veya başka bir makinede smb paylaşımını gerçekten dışa aktarmanız gerekiyor mu? Değilse! bu işlemler neden çalışıyor? Bu işlemleri güvenli bir şekilde sonlandırabilir ve makine bir dahaki sefere başlatıldığında otomatik olarak başlatılmasını engelleyebilirsiniz.

2.Telefon

İnternet veya yerel alan ağı üzerinden çift yönlü etkileşimli metin odaklı iletişime mi ihtiyacınız var? Değilse! bu işlemi sonlandırın ve önyüklemeden başlayarak kapatın.

3. giriş yap

Ağ üzerinden başka bir ana bilgisayarda oturum açmanız mı gerekiyor? Değilse! Bu işlemi sonlandırın ve önyükleme sırasında otomatik olarak başlatılmasını devre dışı bırakın.

4. rexec

Uzaktan İşlem Yürütme, diğer adıyla rexec, uzak bir bilgisayarda kabuk komutlarını yürütmenize olanak tanır. Uzak bir makinede kabuk komutunu çalıştırmanız gerekmiyorsa, işlemi sonlandırmanız yeterlidir.

5.FTP

Dosyaları İnternet üzerinden bir ana bilgisayardan başka bir ana bilgisayara aktarmanız mı gerekiyor? Aksi takdirde hizmeti güvenli bir şekilde durdurabilirsiniz.

6. otomatik montaj

Ağ dosya sistemini açmak için farklı dosya sistemlerini otomatik olarak bağlamanız mı gerekiyor? Değilse! Bu süreç neden işliyor? Neden bu uygulamanın kaynağınızı kullanmasına izin veriyorsunuz? Süreci sonlandırın ve otomatik olarak başlatılmasını devre dışı bırakın.

7. adlandırılmış

NameServer'ı (DNS) çalıştırmanız gerekiyor mu? Değilse, sizi bu süreci yürütmeye ve kaynaklarınızı tüketmeye izin vermeye zorlayan şey nedir? Önce çalışan işlemi sonlandırın ve ardından önyükleme sırasında çalıştırmayı kapatın.

8. lpd

lpd, bu sunucuya yazdırmayı mümkün kılan yazıcı arka plan programıdır. Sunucudan yazdırmanız gerekmiyorsa büyük ihtimalle sistem kaynaklarınız tükeniyor demektir.

9. İnternet

Herhangi bir inetd hizmeti çalıştırıyor musunuz? Mysql, Apache vb. gibi diğer bağımsız uygulamaları kullanan ssh gibi bağımsız bir uygulama çalıştırıyorsanız inetd'ye ihtiyacınız yoktur. süreci sonlandırıp bir dahaki sefere otomatik olarak başlayarak devre dışı bıraksanız iyi olur.

10. port haritası

Açık Ağ Bilgi İşlem Uzaktan Prosedür Çağrısı (ONC RPC) olan Portmap, daemon rpc.portmap ve rpcbind'i kullanır. Bu İşlemler çalışıyorsa, NFS sunucusunu çalıştırdığınız anlamına gelir. NFS sunucusu fark edilmeden çalışıyorsa, sistem kaynaklarınızın gereksiz yere kullanıldığı anlamına gelir.

Linux'ta Bir Süreç Nasıl Öldürülür?

Linux'ta çalışan bir işlemi sonlandırmak için 'PID'i Öldür' komutunu kullanın. Ancak Kill komutunu çalıştırmadan önce sürecin PID'ini bilmemiz gerekir. Örneğin burada 'cupsd' işleminin PID'sini bulmak istiyorum.

[avishek@tecmint]# ps ax | grep cupsd

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

Yani, "cupsd" işleminin PID'si "1511"dir. Bu PID'yi öldürmek için aşağıdaki komutu çalıştırın.

[avishek@tecmint]# kill -9 1511

Örnekleriyle kill komutu hakkında daha fazla bilgi edinmek için Linux'ta Bir Süreci Sonlandırmak İçin Komutu Öldürme Kılavuzu makalesini okuyun.

Linux'ta Bir Hizmet Nasıl Devre Dışı Bırakılır

Fedora ve CentOS gibi Red Hat tabanlı dağıtımlarda, Linux'ta çalışan hizmetleri etkinleştirmek ve devre dışı bırakmak için 'chkconfig' adlı bir komut dosyasından yararlanın .

Örneğin, sistem başlangıcında Apache web sunucusunu devre dışı bırakalım.

[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del

Ubuntu, Linux Mint gibi Debian tabanlı dağıtımlarda ve diğer Debian tabanlı dağıtımlarda update-rc.d adlı bir komut dosyası kullanılır. güçlü>.

Örneğin Apache hizmetini sistem başlangıcında devre dışı bırakmak için aşağıdaki komutu yürütün. Burada '-f' seçeneği kuvvetin zorunlu olduğu anlamına gelir.

[avishek@tecmint]# update-rc.d -f apache2 remove

Bu değişiklikleri yaptıktan sonra, sistem bir dahaki sefere BM'nin gerektirdiği bu işlemler olmadan önyükleme yapacak ve bu aslında sistem kaynağımızdan tasarruf sağlayacak ve sunucu daha pratik, hızlı, güvenli ve emniyetli olacaktır.

Şimdilik bu kadar. Yine ilginç bir yazıyla karşınızdayım. O zamana kadar bizi izlemeye devam edin ve Tecmint'e bağlı kalın. Yorum bölümünde bize değerli geri bildirimlerinizi iletmeyi unutmayın.