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.