Linux’ta Bilmeniz Gereken En Önemli Yapılandırma Dosyaları

Linux güçlü, esnek ve son derece özelleştirilebilir bir işletim sistemidir. Onu bu kadar güçlü yapan şeylerden biri de, sistem davranışını ihtiyaçlarınıza göre değiştirmenize olanak tanıyan yapılandırma dosyalarıdır.

İster masaüstü Linux kullanıyor olun, ister bir sunucu yönetiyor olun, zamanla bazı dosyalarla mutlaka yolunuz kesişir. Ağ ayarlarını değiştirmek, kullanıcı yönetmek, sistem başlangıcını düzenlemek ya da paket kaynaklarını yapılandırmak istediğinizde çoğu zaman /etc dizinindeki yapılandırma dosyaları devreye girer.

Bu yazıda, Linux sistemlerinde en yaygın kullanılan ve bilinmesi gereken önemli yapılandırma dosyalarına yakından bakacağız. Ayrıca bazı dosyaların modern Linux dağıtımlarındaki güncel durumuna da değineceğiz.

Linux Yapılandırma Dosyaları Neden Önemlidir?

Linux sistemlerinde birçok ayar grafik arayüz yerine metin dosyaları üzerinden yapılır. Bu yaklaşım ilk bakışta karmaşık görünse de aslında büyük bir avantaj sağlar:

  • Sistem davranışını ayrıntılı şekilde kontrol etmenize izin verir.
  • Yapılan değişiklikleri kolayca takip etmenizi sağlar.
  • Sunucu ve masaüstü sistemlerinde otomasyonu kolaylaştırır.
  • Sorun giderme sırasında büyük kolaylık sağlar.

Şimdi Linux’ta sık kullanılan yapılandırma dosyalarına tek tek bakalım.

1. /etc/fstab

Linux sisteminde dosya sistemlerinin nasıl bağlanacağını belirleyen en önemli dosyalardan biridir.

Bu dosya, sistem açılışı sırasında hangi disklerin, bölümlerin veya ağ sürücülerinin hangi bağlama noktalarına bağlanacağını tanımlar. Ayrıca bağlama seçenekleri de burada belirtilir.

Örneğin:

  • Harici disklerin otomatik bağlanması
  • Ayrı /home bölümü kullanımı
  • SSD optimizasyon seçenekleri
  • Ağ sürücülerinin otomatik bağlanması

gibi işlemler bu dosya üzerinden yönetilebilir.

Dikkat: Yanlış yapılandırılmış bir fstab dosyası sistemin açılmasını engelleyebilir.

2. /etc/passwd

Linux sistemindeki kullanıcı hesaplarına ait temel bilgileri içerir.

Bu dosyada şunlar bulunur:

  • Kullanıcı adı
  • UID (User ID)
  • GID (Group ID)
  • Ev dizini
  • Varsayılan kabuk (shell)

Birçok kişinin düşündüğünün aksine, modern Linux sistemlerinde parola bilgileri burada saklanmaz.

Bu dosya tüm kullanıcılar tarafından okunabilir durumdadır. Güvenlik nedeniyle parola verileri artık başka bir dosyada tutulur.

3. /etc/shadow

Linux sistemindeki şifrelenmiş parola bilgilerini içeren kritik güvenlik dosyasıdır.

/etc/passwd dosyasından farklı olarak yalnızca yönetici yetkisine sahip kullanıcılar tarafından okunabilir.

Bu dosyada:

  • Şifrelenmiş parola bilgileri
  • Parola son kullanma tarihleri
  • Hesap kilitleme seçenekleri
  • Güvenlik ayarları

yer alır.

Linux güvenliğinin temel taşlarından biri sayılır.

4. /etc/group

Linux sistemindeki grupları ve grup üyeliklerini tanımlar.

Linux’ta yetkilendirme sistemi kullanıcılar ve gruplar üzerinden çalışır. Bu nedenle grup yapısını anlamak oldukça önemlidir.

Örneğin:

  • sudo
  • audio
  • video
  • docker

gibi sistem grupları burada yer alır.

Kullanıcı izinlerini düzenlemek için sık kullanılan dosyalardan biridir.

5. /etc/sudoers

Kimlerin yönetici yetkileriyle komut çalıştırabileceğini belirleyen dosyadır.

Linux’ta doğrudan root kullanmak yerine genellikle sudo tercih edilir. İşte bu davranışı kontrol eden dosya budur.

Bu dosyada:

  • Hangi kullanıcıların sudo kullanabileceği
  • Hangi komutların çalıştırılabileceği
  • Yetki kısıtlamaları

tanımlanır.

Önemli: Bu dosya doğrudan düzenlenmek yerine genellikle visudo komutuyla düzenlenmelidir.

6. /etc/resolv.conf

DNS yapılandırmasını yönetmek için kullanılır.

Bir sistemin alan adlarını IP adreslerine çevirebilmesi için DNS sunucularına ihtiyacı vardır. İşte bu bilgiler burada tutulur.

Örneğin:

  • DNS sunucuları
  • Arama alanları (search domains)
  • Resolver seçenekleri

bu dosyada yer alır.

Ancak modern Linux dağıtımlarında bu dosya çoğu zaman otomatik olarak oluşturulur. Özellikle:

  • systemd-resolved
  • NetworkManager

tarafından yönetilebilir.

Bu nedenle doğrudan yapılan değişiklikler kalıcı olmayabilir.

7. /etc/network/interfaces

Özellikle Debian tabanlı sistemlerde ağ yapılandırması için kullanılır.

Bu dosya sayesinde:

  • Statik IP adresi verme
  • DHCP yapılandırması
  • Ağ geçidi ayarlama
  • Ağ maskesi tanımlama

gibi işlemler yapılabilir.

Ancak modern Linux dağıtımlarında bu yapı büyük ölçüde değişmiştir.

Bugün çoğu sistem:

  • Netplan
  • NetworkManager
  • systemd-networkd

gibi araçları kullanır.

8. /etc/hosts

Yerel isim çözümleme işlemleri için kullanılır.

Alan adlarını doğrudan IP adreslerine eşlemek istediğinizde işe yarar.

Örneğin:

  • 127.0.0.1 localhost
  • 192.168.1.10 server.local

şeklinde tanımlar yapılabilir.

Özellikle:

  • Yerel test ortamlarında
  • Reklam engellemede
  • Ağ içi sunucularda

sık kullanılır.

9. /etc/sysctl.conf

Linux çekirdeği parametrelerini çalışma sırasında yapılandırmak için kullanılır.

Performans ve ağ ayarlarını değiştirmek isteyen ileri düzey kullanıcılar için oldukça önemlidir.

Örneğin:

  • Ağ tampon ayarları
  • IPv6 kapatma
  • Bellek yönetimi
  • Kernel optimizasyonları

buradan yönetilebilir.

10. /etc/services

Sistem servislerini port numaralarıyla eşleştiren dosyadır.

Örneğin:

  • HTTP → 80
  • HTTPS → 443
  • SSH → 22

gibi bilgiler burada tanımlıdır.

Ağ servislerini anlamak açısından faydalı bir dosyadır.

11. /etc/aliases

E-posta yönlendirmeleri için kullanılır.

Bir kullanıcıya gelen e-postanın başka kullanıcıya yönlendirilmesi gibi işlemler burada tanımlanır.

Özellikle Linux mail sunucularında önemlidir.

12. /etc/crontab

Görev zamanlaması için kullanılan sistem dosyasıdır. Belirli komutların otomatik çalıştırılmasını sağlar.

Örneğin:

  • Otomatik yedekleme
  • Log temizleme
  • Güncelleme betikleri
  • Sunucu bakım işleri

buradan planlanabilir.

13. /etc/rc.local

Eskiden önyükleme sırasında komut çalıştırmak için oldukça yaygın kullanılırdı.

Sistem açıldıktan sonra otomatik çalışmasını istediğiniz komutları burada tanımlayabiliyordunuz.

Ancak günümüzde systemd kullanan sistemlerde önemi büyük ölçüde azalmıştır.

Modern Linux dağıtımlarında genellikle:

  • systemd servis dosyaları
  • timer servisleri

tercih edilir.

14. /etc/default/locale

Sistem dil ayarlarını yapılandırmak için kullanılır.

Örneğin:

  • Dil seçimi
  • Bölgesel ayarlar
  • Karakter kodlaması

burada tanımlanır.

15. /etc/environment

Sistem genelinde ortam değişkenlerini tanımlamak için kullanılır.

Örneğin:

  • PATH değişkenleri
  • Proxy ayarları
  • Uygulama ortam değişkenleri

buradan ayarlanabilir.

16. /etc/default/keyboard

Klavye düzeni ayarlarını yönetmek için kullanılır.

Örneğin:

  • Türkçe Q klavye
  • Türkçe F klavye
  • İngilizce düzenler

burada tanımlanabilir.

17. /etc/apt/sources.list

Debian ve Ubuntu tabanlı sistemlerde paket kaynaklarını yönetir.

Bu dosya:

  • Resmî depolar
  • Üçüncü taraf yazılım kaynakları
  • Güncelleme sunucuları

için kullanılır.

Yanlış yapılandırılması paket sorunlarına yol açabilir.

18. /etc/bash.bashrc

Bash kabuğunun sistem genelindeki yapılandırma dosyasıdır.

Yeni bir terminal açıldığında:

  • Alias tanımları
  • Kabuk ayarları
  • Ortam değişkenleri

buradan yüklenebilir.

19. /etc/sysconfig/network

Özellikle eski ve Red Hat tabanlı sistemlerde ağ yapılandırması için kullanılmıştır.

Modern sistemlerde rolü önemli ölçüde azalmıştır, çünkü günümüzde çoğu dağıtım ağ yönetimini farklı araçlarla gerçekleştirir.

20. /etc/modprobe.d/blacklist.conf

İstenmeyen çekirdek modüllerini kara listeye almak için kullanılır.

Örneğin:

  • Sorun çıkaran sürücüler
  • Kullanılmayan modüller
  • Donanım çakışmaları

için tercih edilir.

21. /etc/udev/rules.d/70-persistent-net.rules

Eski Linux sistemlerinde ağ arayüzlerine kalıcı isim vermek için kullanılırdı.

Örneğin:

  • eth0
  • wlan0

gibi isimler atanırdı.

Modern Linux sistemlerinde bunun yerini çoğunlukla:

  • enp3s0
  • wlp2s0

gibi öngörülebilir ağ isimlendirmesi almıştır.

22. /etc/default/grub

GRUB önyükleyicisini yapılandırmak için kullanılır.

Buradan:

  • Varsayılan çekirdek seçimi
  • Açılış süresi
  • Çözünürlük ayarları
  • Kernel parametreleri

düzenlenebilir.

Değişikliklerden sonra genellikle:

sudo update-grub

komutu çalıştırılır.

23. /etc/X11/xorg.conf

X grafik sistemini yapılandırmak için kullanılır.

Eskiden ekran kartı, monitör ve çözünürlük ayarları burada manuel yapılırdı.

Ancak modern Linux sistemlerinde çoğu donanım otomatik algılanır.

Ayrıca günümüzde birçok dağıtım:

  • Wayland
  • Modern ekran yöneticileri

kullandığı için bu dosya çoğu zaman bulunmaz.

24. /etc/rsyslog.conf

Sistem günlüklerini (log) yönetmek için kullanılır.

Linux’ta oluşan olaylar burada yapılandırılan kurallara göre kaydedilir.

Özellikle:

  • Sunucu yönetimi
  • Hata ayıklama
  • Güvenlik incelemeleri

açısından kritik öneme sahiptir.

Sonuç

Linux’un gücü büyük ölçüde yapılandırılabilir olmasından gelir. Bu yapılandırmanın merkezinde ise çoğunlukla /etc dizininde bulunan dosyalar yer alır.

Her Linux kullanıcısının bu dosyaların tamamını ezbere bilmesi gerekmez. Ancak temel yapılandırma dosyalarını tanımak, hem sorun giderme sürecini kolaylaştırır hem de sistemi daha bilinçli kullanmanızı sağlar.

Özellikle sistem yönetimi, sunucu kullanımı veya ileri düzey Linux öğrenme hedefiniz varsa, bu dosyaları tanımak size ciddi avantaj sağlayacaktır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir