Autor del tema #1
awk ile dosya izinlerini denetleme

Metni incelemek için önce durumun ne olduğunu netleştirelim: bir Linux sisteminde dosya izinleri standart olarak rwxrwxrwx biçiminde olup, kullanıcı, grup ve diğer kullanıcılar için ayrı ayrı okuma, yazma ve çalıştırma hakları içerir. Bazen bu izinlerin yanlış ayarlandığını fark etmek için bir dizi dosya üzerinde rapor üretmek gerekir. Bu noktada awk, ls -l çıktısından yavru veriyi temizleyerek hızlı ve tekrarlanabilir bir denetim sağlar. Aşağıdaki yaklaşım, karşılaşılan iki tip tipik senaryoyu ele alır: dosya izinlerini karşılaştırmalı inceleme ve belirli bir güvenlik politikasına göre filtreleme.

Birinci yaklaşım: ls -l çıktısına dayalı hızlı denetim
  • Adım 1: İzinleri ve dosya adını ayırın

ls -l /hedef/dizin | awk '{print $1, $9}' # izin bitişi ve dosya adı
  • Adım 2: Belirli bir güvenlik politikası ile karşılaştırın

Örneğin herkesin yazma izninin olması güvenlik açığı olarak görülüyorsa:
ls -l /hedef/dizin | awk '$1 ~ /^-..w.|^d..w./ {print "ANTİGÜVENLİK:", $0}'
Bu basit örnek, dosya türü ne olursa olsun (dosya veya dizin) yazma izni olan öğeleri işaretler.

İkinci yaklaşım: tam izin bitmiyapısı üzerinden kural tabanlı filtre
  • Adım 1: 9 karakterlik izin sütununu parçalara ayırın

ls -l /hedef/dizin | awk '{perm=$1; name=$9; if (substr(perm,4,1)=="w" || substr(perm,7,1)=="w" || substr(perm,10,1)=="w") print perm, name}'
  • Adım 2: Klasörler ve dosyalar için farklı politikalar uygulayın

ls -l /hedef/dizin | awk 'substr($1,2,1)=="r" && substr($1,5,1)=="r" && substr($1,8,1)=="x" {print "GÜVENDE:", $0}'

İpuçları ve güvenlikle ilgili pratikler
  • Raporlama için çıktıyı net tutun: izin, kullanıcı, grup ve adını ayrı sütunlarda yazdırın.
  • Özellikle kök dizinler ve konfigürasyon dosyaları için 644 (dosyalar) veya 755 (dizinler) dışında izin olup olmadığını kontrol edin.
  • Büyük dizinlerde tekrarlayan denetimler için derlenmiş kuralları bir script halinde saklayın ve periyodik olarak çalıştırın.


Örnek pratik komut seti
  • Tüm dosyalarda diğer kullanıcı yazma iznini kontrol etme:

ls -ld /hedef/* | awk '$1 ~ /^...w.$/ {print $9, $1}'
  • Konfig dosyaları için özel olarak rw------- veya rw-r----- izinlerini zorlayıp raporlama:

ls -l /etc/ | awk '$9 ~ /config|conf/ && $1 ~ /^-rw-------|^-rw-r-----/ {print $9, $1}'

Bu teknik çerçeve, sistem güvenliği politikalarına uygun olarak dosya izinlerini sistematik biçimde denetlemek için esneklik sağlar. Aşağıdaki senaryolarda hangi yaklaşım size daha uygun olur, deneyimlerinizi ve kullandığınız filtreleri paylaşır mısınız?

Debes haber iniciado sesión para responder.

Usuarios que están viendo este tema (Total: 1, Miembros: 1, Invitados: 0)
Total: 1 (miembros: 1, invitados: 0)
0 citas seleccionadas