Linux sistemlerinde, kullanıcı şifreleri, özel sistem dosyaları ve kimlik doğrulama veritabanları içinde şifrelenmiş formatlarla güvenli bir şekilde saklanır. Bu kimlik bilgileri, erişim kontrolünü yönetmede ve yalnızca yetkili kullanıcıların sistem kaynaklarıyla etkileşimde bulunmasını sağlamada kritik bir rol oynar. Örneğin, standart kullanıcı şifreleri genellikle hashlenir ve yalnızca ayrıcalıklı süreçler tarafından erişilebilen /etc/shadow dosyasına kaydedilir. Benzer şekilde, OpenSSH gibi hizmetler, uzaktan oturum açma işlemleri sırasında kullanıcı kimliklerini doğrulamak için bu saklanan hash’lere dayanır.

AvaHost gibi barındırma sağlayıcıları için, Linux’un bu kimlik bilgilerini nasıl ve nerede sakladığını anlamak, VPS ve dedicated servers genelinde güvenli ortamlar sağlamak için esastır. Birden fazla müşteri için passwd politikalarını yapılandırıyor veya sshd_config aracılığıyla güvenli erişimi zorunlu kılıyorsanız, şifre saklama işleminin doğru bir şekilde yönetilmesi, yetkisiz erişimi önlemek ve barındırılan verileri korumak için anahtardır.

1. /etc/passwd Dosyası (Kullanıcı Bilgileri)

/etc/passwd dosyası, tüm sistem kullanıcılarının bir listesini ve temel hesap bilgilerini içerir.

/etc/passwd’deki Örnek Giriş:

username:x:1001:1001:User Name:/home/username:/bin/bash

Açıklanan Alanlar:

  • username: Kullanıcının giriş adı.
  • x: Şifrenin ayrı bir dosyada saklandığını belirten yer tutucu.
  • 1001:1001: Kullanıcı Kimliği (UID) ve Grup Kimliği (GID).
  • Kullanıcı Adı: Kullanıcının tam adı veya tanımı.
  • /home/username: Kullanıcının ana dizini.
  • /bin/bash: Kullanıcıya atanan varsayılan shell.

2. /etc/shadow Dosyası (Şifrelenmiş Şifreler)

Linux, gerçek şifre hash’lerini yalnızca root kullanıcısının erişebileceği /etc/shadow dosyasında saklar.

/etc/shadow’daki Örnek Giriş:

username:$6$abc123$XYZhashedpassword:18528:0:99999:7:::

Açıklanan Alanlar:

  • $6$: Şifreleme algoritmasını belirtir (bu durumda SHA-512).
  • abc123: Şifreyi hashlemek için kullanılan salt.
  • XYZhashedpassword: Gerçek hashlenmiş şifre.
  • 18528: Son şifre değişikliğinden itibaren geçen süre.
  • 0:99999:7: Şifre yaşlanma bilgileri (minimum ve maksimum şifre geçerliliği).

Şifre Hashleme Algoritmasını Kontrol Etme:

Kullanılan hashleme algoritmasını görmek için çalıştırın:

cat /etc/shadow | grep username

3. /etc/group Dosyası (Grup Bilgileri)

/etc/group dosyası, kullanıcı grupları ve grup üyelikleri hakkında bilgi içerir.

/etc/group’daki Örnek Giriş:

developers:x:1002:username1,username2

4. /var/lib/AccountsService/ Dizini (GUI Kullanıcı Hesapları)

Bazı Linux dağıtımları, GUI oturum açmaları için kullanıcı hesap tercihlerini şurada saklar:

/var/lib/AccountsService/users/

Bu dosyalar, görüntü adları ve oturum tercihleri gibi meta veriler içerir ancak şifreleri saklamaz.

5. Şifre Yönetim Komutları

Kullanıcı Şifresini Değiştir:

passwd username

Şifre Yaşlanma Bilgilerini Görüntüle:

chage -l username

Kullanıcıları Bir Sonraki Girişte Şifre Değiştirmeye Zorla:

passwd --expire username

6. Linux Şifreleri Nasıl Güvende Tutar

  • Hashleme ve Saltlama: Şifreler asla düz metin olarak saklanmaz. Bunun yerine, doğrudan erişimi önlemek için hashlenir ve saltlanır.
  • Yalnızca Root Erişimi: /etc/shadow gibi dosyalar yalnızca root erişimi ile kısıtlanmıştır.
  • Takılabilir Kimlik Doğrulama Modülleri (PAM): Linux kimlik doğrulaması PAM tarafından yönetilir ve şifre güvenliği politikalarını uygular.

Sonuç

Linux, kullanıcı kimlik bilgilerini /etc/passwd ve /etc/shadow gibi sistem dosyalarında güvenli bir şekilde saklar ve şifrelenmiş ve kısıtlı erişim sağlar. Bu saklama mekanizmalarını anlamak, sistem güvenliği ve kullanıcı yönetimi için esastır.