Yeni yazı: Kümenin Kapağını Açalım: Kubernetes Bileşenleri Birbirini Neden Hiç Aramaz?
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.

Yeni Kullanıcı Oluşturma

Yeni bir kullanıcı hesabı oluşturmak için aşağıdaki adımları izleyebilirsiniz:

  1. root Yetkileriyle Oturum Açın: Yeni kullanıcılar oluşturmak için yönetici (root) yetkilerine sahip olmanız gerekecektir. Root olarak oturum açın veya “sudo” komutunu kullanarak geçici olarak root yetkilerini alın.
  2. Kullanıcı Oluşturma Komutu: Yeni bir kullanıcı oluşturmak için “useradd” veya “adduser” komutunu kullanabilirsiniz. Örneğin, aşağıdaki komut yeni bir kullanıcı olan “yeni_kullanici” oluşturur.

useradd

Yeni bir kullanıcı hesabını sisteme eklemek için daha temel bir komuttur. 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

kullanıcı oluşturmayı daha kullanıcı dostu ve etkileşimli bir şekilde yapmanıza olanak tanır. Kullanıcı oluşturulurken, varsayılan değerler ve kullanıcı dostu bir dizi soru kullanılarak daha fazla otomatik yapılandırma sağlar. Kullanıcı dostu bir arayüz sağladığı için, genellikle daha az tecrübeli kullanıcılar veya hızlı ve basit kullanıcı oluşturma gereksinimlerine sahip sistem yöneticileri için tercih edilir.

Ö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 []: Murat Akpinar
	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.

Kullanıcıları Silme

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.

Symbolic Link ve Hard Link

Symbolic Link ve Hard Link

İşletim sistemlerinde dosyaları düzenlemek ve yönetmek, veri organizasyonunun temel bir parçasıdır. GNU/Linux dünyasında, dosyaları bağlamak için kullanılan iki önemli kavram Symbolic Link (Sembolik Bağlantı) ve Hard Link (Sert Bağlantı) olarak karşımıza çıkar. Bu yazıda, Symbolic Link ve Hard Link kavramlarını ayrıntılı bir şekilde inceleyecek ve her iki bağlantı türünün nasıl çalıştığını ve farklılıklarını örneklerle anlatacağız.

Mutlak Yol ve Bağıl Yol Kavramları

Mutlak Yol ve Bağıl Yol Kavramları

Bir işletim sistemi olan GNU/Linux’un temel taşlarından biri dosya ve dizin yapısıdır. Dosyalar, verileri saklamak için kullanılan birimlerdir, dizinler ise dosyaların düzenli bir şekilde saklandığı yerlerdir. Dosya ve dizinlerin yönetimi ve erişimi, Linux öğrenme yolculuğunuzun vazgeçilmez bir parçasıdır. Bu yazıda, dosya ve dizin yapısının temelini oluşturan Mutlak Yol (Absolute Path) ve Bağıl Yol (Relative Path) kavramlarına yakından bakacağız.