Kullanıcı Yönetimi (User Management)

Tarih: 2026-06-15 | Kategori: Linux

Etiketler: Linux

Linux işletim sistemlerinde kullanıcı yönetimi, sistem güvenliği ve verimli kaynak paylaşımı için hayati öneme sahiptir. Bu bölüm, Linux'ta kullanıcıların nasıl oluşturulacağına, yönetileceğine ve silineceğine odaklanmaktadır.

Linux'ta Kullanıcı Nedir? (What is a User in Linux?)

Linux sistemlerinde kullanıcılar, sisteme giriş yaparak çeşitli görevleri yerine getiren bireyler veya varlıklar olarak tanımlanır. Kullanıcı yönetimi; kontrollü erişim, kaynak tahsisi ve genel sistem yönetimi için çok önemlidir.

Linux'ta bir kullanıcı, sistem içindeki kimliğini ve ayrıcalıklarını tanımlayan çeşitli niteliklere sahip bir kullanıcı hesabıyla ilişkilendirilir. Bu nitelikler arasında kullanıcı adı, UID (Kullanıcı Kimliği), GID (Grup Kimliği), ev dizini, varsayılan kabuk ve şifre bulunur.

Kullanıcı Türleri (Types of Users)

Linux iki tür kullanıcıyı destekler: sistem kullanıcıları ve normal kullanıcılar.

  • Sistem kullanıcıları: Kurulum sırasında sistem tarafından oluşturulur ve sistem hizmetlerini ve uygulamalarını çalıştırmak için kullanılır.
  • Normal kullanıcılar: Bir yönetici tarafından oluşturulur ve izinlerine göre sisteme ve kaynaklara erişebilirler.
  • Kullanıcı Oluşturma (Creating a User)

    Bir kullanıcı oluşturmak için `useradd` komutunu kullanın. Örneğin, "john" adında bir kullanıcı oluşturmak için aşağıdaki komutu kullanın:

    root@hackerbox:~$ useradd -u 1002 -d /home/john -s /bin/bash john
    

    Bu komut, john için 1002 kullanıcı kimliğine (UID), `/home/john` olarak ayarlanmış bir ev dizinine ve `/bin/bash` varsayılan kabuğuna sahip bir kullanıcı hesabı oluşturur.

    `id john` komutunu çalıştırarak yeni oluşturulan kullanıcı hesabını doğrulayabilirsiniz. Bu komut, john kullanıcısının kimliğini ve grup üyeliklerini gösterir.

    root@hackerbox:~$ id john
    

    uid=1002(john) gid=1002(john) groups=1002(john)
    

    Kullanıcı Nitelikleri (User Attributes)

    Linux sistemlerinde, kullanıcı hesapları, özelliklerini ve erişim ayrıcalıklarını tanımlayan çeşitli niteliklere sahiptir.

  • Kullanıcı Adı (Username): Linux sistemi içinde kullanıcı için benzersiz bir tanımlayıcı. Örneğin, John'un kullanıcı adı `john`dur.
  • UID (Kullanıcı Kimliği) ve GID (Grup Kimliği): Her kullanıcı hesabı bir UID ve bir GID ile ilişkilendirilir. UID kullanıcıya atanan sayısal bir değerdir, GID ise birincil grubunu temsil eder. Örneğin, John'un UID'si 1002'dir ve birincil grubunun GID'si de 1002 olabilir.
  • Ev Dizini (Home Directory): Kullanıcının kişisel dosyalarının ve ayarlarının saklandığı belirlenmiş bir dizin. John'un ev dizini `/home/john`dur.
  • Varsayılan Kabuk (Default Shell): Varsayılan kabuk, kullanıcı oturum açtığında kullanılan komut yorumlayıcısını belirtir. Bu, kullanıcının etkileşimli ortamını tanımlar. John'un varsayılan kabuğu, Linux'ta popüler bir kabuk olan `/bin/bash` olarak ayarlanmıştır.
  • Şifre: Kullanıcı hesapları, erişim ve kimlik doğrulama için şifre gerektirir.
  • Grup: Grup üyeliği, kullanıcının hangi sistem kaynaklarına erişebileceğini ve diğer hangi kullanıcıların bu kullanıcının dosyalarına erişebileceğini belirler.
  • Linux sistemlerinde kayıtlı kullanıcılar `/etc/passwd` dosyasında saklanır. Sistemdeki kullanıcıların listesini görmek için bu dosyanın içeriğini görüntüleyebilirsiniz.

    root@hackerbox:~$ cat /etc/passwd
    

    root:x:0:0:System Administrator:/root:/bin/bash
    ...
    john:x:1002:1002:John Doe:/home/john:/bin/bash
    

    `/etc/passwd` dosyası içindeki kullanıcı listesi şu formatı izler:

  • `john`: Kullanıcı adı.
  • `x`: Kullanıcının hashlenmiş şifresini içerir. Güvenlik nedenleriyle şifre `/etc/shadow` dosyasında saklanır, bu nedenle bu alan `x` karakteri ile değiştirilir.
  • `1002`: Kullanıcı hesabının UID'si (Kullanıcı Kimliği), sistem tarafından kullanıcıya atanan benzersiz bir sayısal tanımlayıcı.
  • `1002`: Kullanıcı hesabının GID'si (Grup Kimliği), birincil grup üyeliğini temsil eder.
  • `John Doe`: GECOS alanı. Bu alan, tam ad veya iletişim bilgileri gibi kullanıcı hakkında ek bilgileri saklamak için kullanılır.
  • `/home/john`: Kullanıcının dosyalarının ve kişisel verilerinin saklandığı kullanıcı hesabı ev dizini.
  • `/bin/bash`: Kullanıcı hesabının varsayılan kabuğu, kullanıcı tarafından terminalde girilen komutları yorumlamak için kullanılır.
  • Kullanıcı Şifrelerini Değiştirme (Changing User Passwords)

    Kullanıcı şifreleri `passwd` komutu kullanılarak kolayca değiştirilebilir. Örneğin, `john` kullanıcısı için yeni bir şifre belirlemek üzere aşağıdaki komutu kullanın:

    root@hackerbox:~$ sudo passwd john
    

    Bu komut sizden etkileşimli olarak yeni bir şifre girmenizi ister. Güvenlik nedenleriyle siz yazarken ekranda hiçbir şeyin görünmeyeceğini unutmayın. Sadece yeni şifreyi yazın ve ENTER tuşuna basın.

    Kullanıcı Silme (Deleting a User)

    John adında bir kullanıcıyı ve ilişkili dosyalarını kaldırmak için `userdel` komutunu kullanın.

    root@hackerbox:~$ sudo userdel john
    

    Bu komut, john kullanıcısının hesabını, ev dizini ve kullanıcıya ait tüm dosyalar dahil olmak üzere siler.