Linux Sistem Yönetimi Temelleri
Linux sistem yönetiminin temel kavramları, komutları ve en iyi uygulamaları. Yeni başlayanlar için kapsamlı rehber.
Linux Sistem Yönetimi Temelleri#
Linux sistem yönetimi, modern IT altyapısının temel taşlarından biridir. Bu rehberde, Linux sistemlerini etkili bir şekilde yönetmek için bilmeniz gereken temel kavramları ve uygulamaları ele alacağız.
Sistem Yönetimi Nedir?#
Sistem yönetimi, bilgisayar sistemlerinin güvenilir, verimli ve güvenli bir şekilde çalışmasını sağlamak için yapılan tüm faaliyetleri kapsar. Linux ortamında bu görevler şunları içerir:
- Kullanıcı ve grup yönetimi
- Dosya sistemi yönetimi
- Süreç (process) yönetimi
- Ağ yapılandırması
- Güvenlik yönetimi
- Sistem izleme ve performans optimizasyonu
Temel Linux Komutları#
Dosya ve Dizin İşlemleri#
# Dizin içeriğini listele ls -la # Dizin değiştir cd /path/to/directory # Dosya kopyala cp source.txt destination.txt # Dosya taşı/yeniden adlandır mv oldname.txt newname.txt # Dosya sil rm filename.txt # Dizin oluştur mkdir new_directory # Dosya izinlerini değiştir chmod 755 script.sh # Dosya sahipliğini değiştir chown user:group filename.txt
Sistem Bilgileri#
# Sistem bilgilerini görüntüle uname -a # Disk kullanımını kontrol et df -h # Bellek kullanımını kontrol et free -h # Çalışan süreçleri listele ps aux # Sistem kaynaklarını izle top htop # Ağ bağlantılarını kontrol et netstat -tulpn ss -tulpn
Kullanıcı ve Grup Yönetimi#
Kullanıcı İşlemleri#
# Yeni kullanıcı oluştur sudo useradd -m -s /bin/bash username # Kullanıcı şifresi belirle sudo passwd username # Kullanıcıyı gruba ekle sudo usermod -aG groupname username # Kullanıcı bilgilerini görüntüle id username # Kullanıcıyı sil sudo userdel -r username
Grup İşlemleri#
# Yeni grup oluştur sudo groupadd groupname # Grup bilgilerini görüntüle getent group groupname # Grubu sil sudo groupdel groupname
Dosya Sistemi Yönetimi#
Disk Bölümleme#
# Disk bölümlerini listele lsblk fdisk -l # Yeni bölüm oluştur sudo fdisk /dev/sdb # Dosya sistemi oluştur sudo mkfs.ext4 /dev/sdb1 # Bölümü mount et sudo mount /dev/sdb1 /mnt/data # Kalıcı mount için /etc/fstab düzenle echo '/dev/sdb1 /mnt/data ext4 defaults 0 2' | sudo tee -a /etc/fstab
Dosya İzinleri#
Linux'ta dosya izinleri üç kategoride tanımlanır:
- Owner (Sahip): Dosyanın sahibi
- Group (Grup): Dosyanın ait olduğu grup
- Others (Diğerleri): Diğer tüm kullanıcılar
# İzin türleri: # r (read) = 4 # w (write) = 2 # x (execute) = 1 # Örnek izin kombinasyonları: chmod 755 file.txt # rwxr-xr-x chmod 644 file.txt # rw-r--r-- chmod 600 file.txt # rw-------
Süreç Yönetimi#
Süreç Kontrolü#
# Süreçleri listele ps aux | grep process_name # Süreç öldür kill PID killall process_name # Süreç önceliğini değiştir nice -n 10 command renice 5 PID # Arka planda çalıştır command & nohup command &
Systemd Servisleri#
# Servis durumunu kontrol et sudo systemctl status service_name # Servisi başlat sudo systemctl start service_name # Servisi durdur sudo systemctl stop service_name # Servisi yeniden başlat sudo systemctl restart service_name # Servisi otomatik başlatmayı etkinleştir sudo systemctl enable service_name # Tüm servisleri listele systemctl list-units --type=service
Ağ Yönetimi#
Ağ Yapılandırması#
# Ağ arayüzlerini listele ip addr show ifconfig # IP adresi ata sudo ip addr add 192.168.1.100/24 dev eth0 # Varsayılan gateway ayarla sudo ip route add default via 192.168.1.1 # DNS ayarları (/etc/resolv.conf) echo 'nameserver 8.8.8.8' | sudo tee /etc/resolv.conf
Güvenlik Duvarı (UFW)#
# UFW'yi etkinleştir sudo ufw enable # Port aç sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp # Belirli IP'den bağlantıya izin ver sudo ufw allow from 192.168.1.100 # Kuralları listele sudo ufw status verbose
Sistem İzleme ve Performans#
Log Dosyaları#
# Sistem loglarını görüntüle sudo journalctl -f sudo tail -f /var/log/syslog # Belirli servise ait loglar sudo journalctl -u service_name # Boot logları sudo journalctl -b
Performans İzleme#
# CPU kullanımı top htop sar -u 1 5 # Bellek kullanımı free -h vmstat 1 5 # Disk I/O iostat -x 1 5 iotop # Ağ trafiği iftop nethogs
Yedekleme ve Güvenlik#
Yedekleme Stratejileri#
# rsync ile yedekleme rsync -avz /source/ /backup/ # tar ile arşivleme tar -czf backup.tar.gz /path/to/data # Otomatik yedekleme scripti #!/bin/bash DATE=$(date +%Y%m%d_%H%M%S) tar -czf /backup/system_backup_$DATE.tar.gz /etc /home
Güvenlik En İyi Uygulamaları#
- Düzenli güncellemeler:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y # CentOS/RHEL
- SSH güvenliği:
# /etc/ssh/sshd_config düzenle PermitRootLogin no PasswordAuthentication no Port 2222
- Fail2ban kurulumu:
sudo apt install fail2ban sudo systemctl enable fail2ban
Sonuç#
Linux sistem yönetimi, sürekli öğrenme gerektiren geniş bir alandır. Bu temel kavramları öğrendikten sonra, daha ileri konulara geçebilir ve uzmanlaşmak istediğiniz alanlarda derinleşebilirsiniz.
Sistem yönetiminde başarılı olmak için:
- Düzenli pratik yapın
- Logları takip etme alışkanlığı edinin
- Yedekleme stratejinizi hiç ihmal etmeyin
- Güvenlik güncellemelerini takip edin
- Topluluktan yardım almaktan çekinmeyin
Bir sonraki yazımızda, Docker ve konteyner teknolojileri ile sistem yönetimini ele alacağız.