Yeni yazı: Active Directory Sağlık Kontrolü: krbtgt Rotasyonu ve Hesap Yaşam Döngüsü
Linux'da Yeni Kullanıcılar Oluşturma ve Silme

Linux'da Yeni Kullanıcılar Oluşturma ve Silme

İçindekiler

Linux’ta kullanıcı oluşturmanın iki komutu vardır ve ikisi aynı şeyi yapmaz: useradd size hiçbir şey sormaz ve varsayılanlarla yetinir — çoğu dağıtımda ev dizini bile açmaz, parola belirlenmediği için hesap kilitli kalır. adduser ise soru sorar ve işi tamamlar. Yanlış olanı seçtiğinizde hata almazsınız; kullanıcının oturum açamadığını bir hafta sonra fark edersiniz.

Bu yazıda iki komutun farkını, hangisinin ne zaman doğru olduğunu ve silerken nelerin geride kaldığını göreceksiniz.

Kullanıcı Oluşturma: useradd mı, adduser mı?

Her iki komut da root yetkisi ister, yani sudo ile çalıştırılır. Fark ikisinin sizden ne beklediğindedir.

useradd: Soru Sormaz, Varsayılanla Yetinir

useradd iki komutun daha temel olanıdır. Kullanıcı kimlik numarası (UID), ana dizin (home directory) ve kabuk (shell) gibi ayarları elle vermeniz gerekir; vermediğinizde /etc/default/useradd ve /etc/login.defs dosyalarındaki varsayılanlar geçerli olur. Betikle otomatik kullanıcı açarken doğru komut budur, çünkü hiçbir soru sormaz.

useradd -m -s /bin/bash murat
  • -m ev dizinini oluşturur ve /etc/skel içeriğini kopyalar. Debian ve türevlerinde -m yazmazsanız ev dizini oluşturulmaz, kullanıcı oturum açtığında / dizinine düşer. (RHEL ailesinde varsayılan tersidir, ev dizini kendiliğinden açılır.)
  • -s kabuğu belirler. Debian’da varsayılan /bin/sh‘tir; bash istiyorsanız açıkça yazmanız gerekir.
  • -G ek grupları verir ve yazdığınız grupların önceden var olması gerekir: useradd -G sudo,proje murat. Var olmayan bir grup yazarsanız komut useradd: group 'proje' does not exist diyerek durur, kullanıcı oluşmaz.

Kullanıcının birincil grubu ayrıca belirtilmezse çoğu dağıtımda kullanıcı adıyla aynı adda otomatik oluşturulur. Grup mantığının tamamı için: Gruplar ve kullanıcıları gruplara ekleme/çıkarma.

useradd ile açılan hesap kilitlidir. Parola belirlenmediği sürece /etc/shadow alanında ! durur ve kullanıcı parolayla oturum açamaz. Oluşturduktan sonra parolayı siz vermelisiniz:

passwd murat

adduser: Soru Sorar, İşi Tamamlar

adduser aynı işi etkileşimli olarak yapar: grubu oluşturur, ev dizinini açar, /etc/skel dosyalarını kopyalar ve parolayı sorar. Elle tek bir kullanıcı açarken atlanan adım bırakmadığı için doğru seçim odur.

Önemli bir sınır: adduser, Debian ailesine özgü bir betiktir (Perl ile yazılmıştır ve arka planda useradd çağırır). RHEL, Rocky, AlmaLinux ve Fedora’da adduser yalnızca useradd‘a giden bir sembolik linktir — aynı adı yazarsınız ama hiçbir soru sorulmaz. Dağıtımlar arası çalışan bir betik yazıyorsanız useradd kullanın.

Debian’daki etkileşimli akış şöyle görünür:

root@debian:~# adduser lehisa
Adding user `lehisa' ...
Adding new group `lehisa' (1002) ...
Adding new user `lehisa' (1002) with group `lehisa' ...
Creating home directory `/home/lehisa' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for lehisa
Enter the new value, or press ENTER for the default
	Full Name []: Leyla Hisar
	Room Number []:
	Work Phone []:
	Home Phone []:
	Other []:
Is the information correct? [Y/n]

Görüldüğü gibi tek komut grubu oluşturdu, ev dizinini açtı, /etc/skel dosyalarını kopyaladı ve parolayı sordu — useradd ile bunların hepsini ayrı ayrı vermeniz gerekirdi.

Ad alanına Türkçe karakter yazarsanız chfn: name with non-ASCII characters uyarısı alırsınız. İşlem yine tamamlanır; uyarı, bu alanın eski finger protokolünden gelen ASCII beklentisiyle ilgilidir.

Silme: userdel Ev Dizinini Yerinde Bırakır

Kullanıcı silmek dikkat ister, çünkü varsayılan davranış çoğu kişinin beklediği gibi değildir: userdel yalnızca hesabı kaldırır, kullanıcının ev dizinini ve dosyalarını yerinde bırakır.

sudo userdel kullanici_adi      # hesap gider, /home/kullanici_adi kalır
sudo userdel -r kullanici_adi   # hesap ve ev dizini birlikte gider

Bilmeniz gereken üç ayrıntı:

  • -r bile her şeyi silmez. Yalnızca ev dizinini ve posta kuyruğunu kaldırır. Kullanıcının /srv, /opt ya da /var/www altında bıraktığı dosyalar yerinde kalır ve artık sahipsizdir; ls -l çıktısında sahip adı yerine çıplak UID görürsünüz. Silmeden önce şu komutla arayın: find / -uid $(id -u kullanici_adi) 2>/dev/null
  • Oturumu açık kullanıcı silinmez. Kullanıcının çalışan bir süreci varsa userdel reddeder. Önce süreçleri sonlandırın; -f ile zorlamak sistemi tutarsız bırakabilir.
  • Geri dönüşü yoktur. Ev dizinini silmeden önce arşivlemek, sonradan “şu dosya lazımmış” dendiğinde tek kurtarıcınızdır: tar czf /yedek/kullanici_adi.tar.gz /home/kullanici_adi

Sonuç

  • useradd ve adduser aynı komut değildir. useradd hiçbir şey sormaz, Debian’da -m yazmazsanız ev dizini bile açmaz ve hesabı parolasız — yani kilitli — bırakır. Betikte useradd, elle işlemde adduser doğru seçimdir.
  • adduser her dağıtımda yok. RHEL ailesinde useradd‘a sembolik linktir; taşınabilir betik yazıyorsanız buna güvenmeyin.
  • userdel ev dizinini silmez, -r de her şeyi silmez. Silmeden önce kullanıcının UID’siyle sistem genelinde arama yapın, sonra arşivleyin.

Yol haritasında sırada var olan bir hesabı yönetmek var: Kullanıcı Bilgilerini Değiştirme ve Parola Yönetimi. Serinin tamamına GNU/Linux Öğrenme Yolculuğu sayfasından ulaşabilirsiniz.

Paylaş :

İlgili Yazılar

Linux Dosya Oluşturma ve Kopyalama Komutları: Dosyalarınızı Yönetmek

Linux Dosya Oluşturma ve Kopyalama Komutları: Dosyalarınızı Yönetmek

cp masum görünen bir komuttur: kaynağı yazarsınız, hedefi yazarsınız, biter. Ama aynı komut, hedefte zaten bir dosya varsa hiçbir şey sormadan üzerine yazar — ve üzerine yazılan içerik geri gelmez. Kopyalamak kolaydır; komutun hangi durumda tam olarak ne yaptığını bilmek işin asıl kısmıdır.

Dosya Türleri ve İzinleri: Linux Dosya Yönetiminin Temelleri

Dosya Türleri ve İzinleri: Linux Dosya Yönetiminin Temelleri

ls -l çalıştırdığınızda her satırın başında on karakterlik bir dizi görürsünüz: -rw-r--r--. Çoğu kullanıcı bu diziyi okumadan geçer ve izin gerektiğinde chmod 777 yazıp sorunu “çözer” — sonra o dosyayı sistemdeki herkesin değiştirebildiğini fark etmez.

Linux'da Kullanıcı Hesapları ve Yetkileri: Sudo ve Su Komutları

Linux'da Kullanıcı Hesapları ve Yetkileri: Sudo ve Su Komutları

sudo ile su dışarıdan bakınca aynı işi yapar: ikisi de sizi root yapar. Ama biri sizin parolanızı sorar, diğeri root’un parolasını — ve Ubuntu gibi dağıtımlarda root’un parolası hiç ayarlanmadığı için ikincisi hiçbir zaman çalışmaz. su: Authentication failure hatasının sebebi yanlış yazdığınız parola değildir; öyle bir parola yoktur.