Yeni yazı: Kümeyi Kurmak: Ready Yazması Kümenin Çalıştığı Anlamına Gelmez
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

GNU/Linux Öğrenme Yolculuğu

GNU/Linux Öğrenme Yolculuğu

Eğer imkanlarınız dahilindeyse “Mustafa Akgül Özgür Yazılım Yaz Kampı” ziyaret ederek tamamen gönüllülerden oluşan ücretsiz eğitim kampını ziyaret edebilir ve yüz yüze bir eğitim alabilirsiniz. Sadece Linux için de değil bir çok alanda kurslar da var. Beni bu alanda bir kariyer edinmemi sağlayan kursa ve eğitmenlerime teşekkürü borç bilirim.

Linux'da Dosya İçeriğini Görüntüleme: Less, Tail, Head Komutları

Linux'da Dosya İçeriğini Görüntüleme: Less, Tail, Head Komutları

Bir sunucuda sorun ararken ilk yaptığınız şey bir log dosyasına bakmaktır. Ama o dosya 2 GB ise ve siz cat yazdıysanız, terminaliniz dakikalarca akar ve aradığınız satır çoktan yukarı kaymıştır. Dosyanın tamamını okumakla bir kısmını okumak farklı komutların işidir.

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.