Linux Sunucuda Kullanıcı Yönetimi
Seviye: Başlangıç
Tahmini süre: ~30 dakika
Hedef: Hesap oluşturma ve yönetme için komut satırı araçlarını öğrenmek, standart hizmet erişimini yapılandırmak ve çalışma süresini güvenli biçimde korumak.
Giriş
Linux kullanıcı yönetimi, her sistem yöneticisi için temel bir beceridir. Doğru erişim denetimi; sunucu kararlılığını, güvenliğini ve hesap verebilirliği sağlar. Bu eğitimde hesap ekleme, yetki verme (Linux ayrıcalık yükseltme dahil) ve standart hizmet yapılandırmasını güvenli biçimde sürdürme temellerini ele alacağız.
Ön koşullar
Başlamadan önce aşağıdaki koşulların karşılandığından emin olun:
- İşletim sistemi: Ubuntu 22.04/24.04 LTS, Debian 12/13, AlmaLinux/Rocky Linux 8/9/10, RHEL 8/9/10
- Erişim: Sunucuya SSH üzerinden sudo veya root erişimi
- Sistem: Çalışan bir paket yöneticisi
- Gerekli bilgi: Linux komut satırını rahatça kullanabilme
Temel kavramları anlama
Değişiklik yapmadan önce hesapların nasıl çalıştığını anlamalısınız:
- UID (User ID): Sahipliği ve izinleri izlemek için her kullanıcıya atanan benzersiz sayısal tanımlayıcı.
- GID (Group ID): Bir kullanıcıyı belirli bir gruba atayan birincil sayısal tanımlayıcı. Linux grupları, paylaşılan izinler için birden fazla kullanıcıyı düzenler.
- Ana dizin (home directory): Kullanıcının kişisel dosyalarının ve yapılandırmalarının saklandığı varsayılan dizin (
/home/username). - Oturum açma kabuğu (login shell): Yetkili bir kullanıcı oturum açtığında başlayan komut yorumlayıcısı (örneğin
/bin/bash). Yetkili kullanıcı, sisteme erişme izni olan hesaptır. - Parola: Linux kullanıcı kimlik doğrulaması için kullanılan gizli karakter dizisi. Kimlik doğrulama, bir kullanıcının kimliğini doğrulama sürecidir.
- Adduser: Hesap oluşturmak için kullanılan, ağırlıklı olarak Debian/Ubuntu sistemlerinde bulunan etkileşimli ön yüz betiği.
- Useradd: Tüm Linux dağıtımlarında hesap oluşturmak için kullanılan yerel, düşük seviyeli ikili yardımcı program.
- Hesap kilitleme (Account lock): Sunucuyu güvence altına almak için parola tabanlı oturum açmaları devre dışı bırakma işlemi.
- Hesap son kullanma tarihi (Account expiration): Bir hesabı belirli bir tarihte otomatik olarak devre dışı bırakma işlemi.
Adım 1: Yeni kullanıcı oluşturma
Yeni bir kullanıcı oluşturmak için adduser komutunu (Debian/Ubuntu'da) veya useradd komutunu (RHEL/AlmaLinux'ta) kullanırsınız.
Aşağıdaki örneklerde johndoe yerine istediğiniz kullanıcı adını yazın. johndoe adlı bir kullanıcı oluşturmak için aşağıdaki komutu çalıştırın:
sudo adduser johndoe
Sizden bir parola ve isteğe bağlı kullanıcı bilgileri girmeniz istenecektir.
Beklenen çıktı:
Çıktı; grubun, kullanıcının ve ana dizinin oluşturulması ile /etc/skel içindeki dosyaların kopyalanmasına ilişkin satırlar içerir. Kesin UID/GID değeri sisteminize bağlıdır.
RHEL/AlmaLinux'ta sudo useradd -m johndoe komutunu kullanın (-m bayrağı /home/johndoe dizininin oluşturulmasını sağlar) ve parolayı passwd komutuyla elle ayarlayın: sudo passwd johndoe.
Adım 2: Linux sunucuda sudo'yu anlama
Standart kullanıcılar sistem yapılandırmasını değiştiremez veya yazılım kuramaz. Linux sudo komutu, yetkili kullanıcıların komutları root ayrıcalıklarıyla çalıştırmasına olanak tanır.
2.1 Kullanıcıyı sudo grubuna ekleme
Yetki vermenin en kolay yolu, kullanıcıyı usermod komutuyla önceden tanımlı yönetici grubuna eklemektir.
Ubuntu/Debian:
sudo usermod -aG sudo johndoe
RHEL/AlmaLinux:
sudo usermod -aG wheel johndoe
usermod komutu, kullanıcıyı ek gruba (-G) ekler (-a). johndoe kullanıcısı artık komutların başına sudo ekleyerek yönetsel görevleri yürütebilir. Başarılı olduğunda komut çıktı üretmez. Bunu groups johndoe ile doğrulayabilirsiniz - sudo (veya wheel) grubu listede görünmelidir.
Adım 3: Kullanıcı özelliklerini değiştirme
Bir hesabı kilitlemeniz veya parolasını değiştirmeniz gerekebilir.
3.1 Parola değiştirme
Parola değişikliğini zorunlu kılmak veya unutulmuş bir parolayı güncellemek için passwd komutuyla aşağıdakini çalıştırın:
sudo passwd johndoe
Sizden yeni parolayı girip onaylamanız istenecektir. İşlem tamamlandığında kullanıcı yeni kimlik bilgileriyle oturum açabilir.
3.2 Hesap kilitleme
Bir kullanıcı şirketten ayrılırsa, sunucuyu güvence altına almak için hesap kilitleme yapmalısınız:
sudo usermod -L johndoe
Hesap hemen kilitlenir ve yeni parola tabanlı oturum açmalar engellenir. Hesabın kilidini daha sonra açmak için sudo usermod -U johndoe komutunu kullanın.
Her iki komut da çıktı üretmez. Durumu passwd -S johndoe ile doğrulayabilirsiniz (durum L = kilitli, P = etkin).
3.3 Hesap son kullanma tarihi belirleme
Bir hesabı belirli bir tarihte otomatik olarak devre dışı bırakmak için hesap son kullanma tarihi belirlersiniz:
sudo usermod -e 2026-12-31 johndoe
Bu, geçici yüklenicilerin erişimini otomatik olarak kaybetmesini sağlar.
Son kullanma tarihini sudo chage -l johndoe ile kontrol edebilirsiniz. UTC sınırı işlemesi nedeniyle tarihi bir gün önce gösterebilir - bu normaldir ve hesap yine de doğru şekilde sona erecektir.
Adım 4: Sunucu güvenliği için Linux sudo komutunu güvenli kullanma
sudoers dosyası (/etc/sudoers), sudo'yu kimin kullanabileceğini ve neleri çalıştırabileceğini tam olarak denetler.
sudoers dosyasını düzenlemek için her zaman visudo kullanın. Kaydetmeden önce sözdizimi hatalarını denetler ve erişimin kilitlenmesini önler.
Önerilen en iyi uygulama, ana dosyayı düzenlemek yerine her kural için ayrı bir dosya oluşturmaktır:
sudo visudo -f /etc/sudoers.d/johndoe
Bu, kural geri almayı kolaylaştırır ve ana sudoers yapılandırmasına zarar verme riskini azaltır.
johndoe kullanıcısının zaman eşitleme hizmetini parolasız yeniden başlatmasına izin vermek için işletim sisteminize uygun satırı ekleyin:
Ubuntu/Debian:
johndoe ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart systemd-timesyncd
RHEL/AlmaLinux:
johndoe ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart chronyd
Kaydedip çıkın. johndoe artık hizmeti parola sorulmadan yeniden başlatabilir.
johndoe kullanıcısı komutu sudo systemctl restart systemd-timesyncd (veya chronyd) olarak çalıştırmalıdır - yani özellikle sudo üzerinden. Hizmeti sudo olmadan doğrudan yeniden başlatma girişimi, etkileşimli kimlik doğrulama gerektiren bir polkit hatası döndürür.
sudoers dosyalarını asla doğrudan nano veya vim ile düzenlemeyin. Bir sözdizimi hatası tüm sistemde sudo erişimini bozar ve düzeltmek için kurtarma kipinde açılış yapmayı gerektirir.
Adım 5: Kullanıcıyı silme
Bir hesaba artık ihtiyaç kalmadığında, sunucuyu düzenli tutmak için kaldırın.
Kullanıcıyı silip dosyalarını korumak için:
sudo deluser johndoe
RHEL/AlmaLinux'ta: sudo userdel johndoe
Komutu --remove-home (veya -r) olmadan çalıştırmak, /home/johndoe dizinini ve kullanıcının dosyalarını diskte bırakır. Bu, verileri arşivlemek için kullanışlıdır ancak kalan dosyaların farkında olmalısınız.
Kullanıcıyı ve ana dizinini silmek için:
sudo deluser --remove-home johndoe
RHEL/AlmaLinux'ta: sudo userdel -r johndoe
Oluşturulmuşsa kullanıcının sudoers dosyasını kaldırmak için şunu çalıştırın:
sudo rm -f /etc/sudoers.d/johndoe
Kullanıcı hesabı artık sistemden tamamen kaldırıldı.
Bir kullanıcıyı kaldırmadan önce, hiçbir arka plan hizmetinin onun UID'sine veya Linux gruplarına bağımlı olmadığından emin olun.
Doğrulama
Yeni kullanıcıyı ve grup üyeliklerini doğrulamak için id komutunu kullanın:
id johndoe
Beklenen çıktı:
Çıktı UID'yi, GID'yi (1001'den farklı olabilir) ve grupların listesini gösterir. sudo (Debian/Ubuntu) veya wheel (RHEL/AlmaLinux) grubunun mevcut olduğunu doğrulayın. Debian/Ubuntu'da listede users grubu da görünebilir - bu normaldir.
sudo erişimini test etmek için yeni kullanıcıya geçin:
su - johndoe
Ardından ayrıcalık gerektiren bir komut çalıştırın:
sudo ls /root
İstenirse johndoe kullanıcısının parolasını (Adım 1'de belirlenen parola) girin; root parolasını değil. /root dizininin içeriğini görmelisiniz.
Sorun giderme
- sudoers'ta sözdizimi hataları: sudoers dosyasını yanlışlıkla bozarsanız, genellikle başka bir oturumdan
pkexec visudoçalıştırarak düzeltebilirsiniz.pkexecyoksa, dosyayı düzenlemek için sunucuyu kurtarma/tek kullanıcı kipinde başlatmanız gerekir. - Kaybedilen sudo erişimi: sudo erişimini kaybettiyseniz ancak root parolasına hâlâ sahipseniz, grup üyeliklerini düzeltmek için doğrudan root olarak oturum açın (örneğin
su -ile). - Kullanıcı ayrıcalıklarını doğrulama: bir kullanıcının hangi komutları çalıştırabildiğini tam olarak görmek için
sudo -l -U johndoekomutunu kullanın.
Geri alma (rollback)
Bu eğitimde yapılan değişiklikleri geri almanız gerekirse:
- Kullanıcıyı sudo grubundan çıkarın:
sudo gpasswd -d johndoe sudo(veyawheel). visudoile yapılan tüm eklemeleri geri alın.- Kullanıcıyı ve ana dizinini silin:
sudo deluser --remove-home johndoe(veyasudo userdel -r johndoe). - Kullanıcıya ait özel sudoers dosyasını kaldırın:
sudo rm -f /etc/sudoers.d/johndoe.
Sonuç
Hesapları doğru yapılandırmak, sistem güvenliğinden ödün vermeden Linux'ta kullanıcıları güvenle yönetmenizi sağlar. adduser komutunu, usermod komutunu ve passwd komutunu anlayıp sudo'yu güvenli biçimde yapılandırarak kararlı ve hesap verebilir bir ortamı sürdürürsünüz.
Belge sürümü: 1.0
Son güncelleme: Mayıs 2026
Sahibi: Teknik Dokümantasyon Ekibi