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

Kabukta İlk Adımlar: Komutlar ve Temel Seçenekler

Kabukta İlk Adımlar: Komutlar ve Temel Seçenekler

GNU/Linux işletim sisteminde kabuk (shell) kullanarak temel komutları ve komutlarda kullanılan temel seçenekleri öğrenmeye başlayacağız. Kabuk, kullanıcıların işletim sistemiyle etkileşim kurmasını sağlayan arayüzdür ve komut satırını kullanarak birçok işlemi gerçekleştirebiliriz. Haydi, kabukta ilk adımlarımıza başlayalım ve komutların temel seçeneklerini öğrenelim. Diğer konuları ‘GNU/Linux Öğrenme Yolculuğu’ bu adresten ulaşabilirsiniz.

GNU/Linux’a İlk Adım: Temel Kabuk Kavramları

GNU/Linux’a İlk Adım: Temel Kabuk Kavramları

GNU/Linux’u keşfetmek, bilgisayar dünyasında yolculuğa başlamak isteyenler için harika bir adımdır. GNU/Linux’un temel kabuk kavramlarına bir bakış atarak, yeni başlayanlar için temel bilgiler sağlayacağız.

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.