Pardus'ta Kullanıcı ve Grup Yönetimi

Seviye: Başlangıç → İleri Seviye
İşletim Sistemi: Pardus (Debian Tabanlı)
Hedef Kitle: Sistem Yöneticileri, Linux Kullanıcıları, Siber Güvenlik Uzmanları, SOC Analistleri


Pardus, tıpkı temel aldığı Debian gibi çok kullanıcılı (multi-user) bir işletim sistemidir. Bu yapı, aynı bilgisayarı birden fazla kişinin kendi kişisel ayarları, dosyaları ve yetkileriyle güvenli bir şekilde kullanabilmesini sağlar. Pardus üzerinde sistem yöneticisi (root) yetkilerine sahip olmak ve sistemin güvenliğini sağlamak için kullanıcı ve grup yönetimini iyi anlamak kritik bir öneme sahiptir.


1. Kullanıcı ve Grup Nedir?

Linux çok kullanıcılı (Multi User) bir işletim sistemidir.

Aynı anda;

  • sistem yöneticisi

  • normal kullanıcı

  • servis hesapları

  • uygulamalar

aynı sistemi kullanabilir.

Her işlemin sahibi bir kullanıcıdır.

Örneğin;

apache
mysql
postgres
www-data
root
nuri

hepsi aslında bir Linux kullanıcısıdır.


Kullanıcı Neden Gereklidir?

Her dosyanın sahibi vardır.

Örneğin

-rw-r--r--
Owner : nuri
Group : developers

Linux şu soruyu sorar:

Bu işlemi yapan kullanıcı kim?

Buna göre izin verir.


Grup Nedir?

Gruplar aynı yetkiye sahip kullanıcıları bir araya getirir.

Örneğin

developers
ali
veli
ayşe

hepsi aynı dosyalara erişebilir.


Neden Grup Kullanılır?

Tek tek yetki vermek yerine

developer grubuna yetki ver
Gruba eklenen herkes yetkili olur.

Bu yönetimi oldukça kolaylaştırır.


2. Linux Yetkilendirme Mantığı

Her işlem;

UID
GID

ile yürütülür.


UID

User ID

Örneğin

root
UID=0

Normal kullanıcı

UID=1000

Kontrol edelim

id

Örnek

uid=1000(nuri)
gid=1000(nuri)
groups=1000(nuri),27(sudo)

UID Öğrenme

id kullanıcıadı

Örnek

id ahmet

3. Kullanıcı Türleri

Root

En yetkili kullanıcıdır.

UID = 0

Her şeyi yapabilir.


Sistem Kullanıcıları

Servisler için oluşturulur.

Örneğin

daemon
mail
www-data
mysql
postgres

Genellikle

UID
1-999

arasındadır.


Normal Kullanıcı

Masaüstü kullanıcılarıdır.

UID >=1000

4. Grup Türleri

Primary Group

Her kullanıcının birincil grubudur.

nuri
Primary Group
nuri

Secondary Group

Ek yetkiler verir.

Örneğin

sudo
docker
developers

Gösterelim

groups

veya

id

5. Kullanıcı Bilgilerinin Tutulduğu Dosyalar

/etc/passwd

Kullanıcı listesi

cat /etc/passwd

Örnek

nuri:x:1000:1000::/home/nuri:/bin/bash

Alanlar

Kullanıcı
Şifre
UID
GID
Açıklama
Home
Shell

/etc/shadow

Şifreler

sudo cat /etc/shadow

Örnek

nuri:$y$j9T....

Şifreler hash halinde tutulur.


/etc/group

Gruplar

cat /etc/group

/etc/gshadow

Grup parolaları


6. Kullanıcı Oluşturma

Temel komut

sudo adduser ali

Sistem sizden ister

Şifre
Ad Soyad
Telefon
Diğer bilgiler

Oluşturulanlar

/home/ali
mailbox
primary group

useradd ile Oluşturma

sudo useradd ali

Bu yöntem yalnızca kullanıcı oluşturur.

Ev dizini oluşturmaz.


Ev dizini ile

sudo useradd -m ali

Shell belirleyelim

sudo useradd -m -s /bin/bash ali

7. Kullanıcı Silme

sudo deluser ali

Ev dizini ile birlikte

sudo deluser --remove-home ali

userdel

sudo userdel ali

Tamamen sil

sudo userdel -r ali

8. Kullanıcı Bilgilerini Değiştirme

Kabuk değiştirme

sudo usermod -s /bin/bash ali

Ev dizini değiştirme

sudo usermod -d /home/yeni ali

Kullanıcı adı değiştirme

sudo usermod -l yeniad eskiad

UID değiştirme

sudo usermod -u 2000 ali

9. Şifre Yönetimi

Şifre belirleme

sudo passwd ali

Kendi şifresi

passwd

Şifre kilitle

sudo passwd -l ali

Şifre aç

sudo passwd -u ali

Şifreyi sona erdir

sudo passwd -e ali

Bir sonraki girişte değiştirir.


10. Grup Yönetimi

Grup oluştur

sudo groupadd developers

Grup sil

sudo groupdel developers

Gruba kullanıcı ekle

sudo usermod -aG developers ali

Çok önemli:

-aG

kullanılmalıdır.

Yanlış kullanım

-G

diğer grupları siler.


Grup üyelerini göster

groups ali

11. sudo Yetkisi Verme

sudo usermod -aG sudo ali

Kontrol

groups ali

sudo dene

su ali
sudo apt update

12. Dosya İzinleri ile İlişkisi

Bir dosya

-rwxr-x---

Sahibi

ali

Grubu

developers

Yetkiler

Owner
rwx
Group
r-x
Others
---

Sahipliği Değiştirme

sudo chown ali dosya

Grubu değiştir

sudo chgrp developers dosya

13. Varsayılan Dosya İzinleri (umask)

Kontrol

umask

Örnek

0022

Yeni oluşturulan dosyaların başlangıç izinlerini belirler.


14. Hesap Kilitleme

sudo usermod -L ali

sudo usermod -U ali

Kabuk kapat

sudo usermod -s /usr/sbin/nologin ali

Servis hesapları için önerilir.


15. Güvenlik Denetimleri

Sistemde Kimler Var?

cut -d: -f1 /etc/passwd

Root Yetkisi Olanlar

getent group sudo

Son Girişler

last

Aktif Kullanıcılar

who

veya

w

Başarısız Girişler

sudo journalctl -u ssh

veya

sudo grep "Failed password" /var/log/auth.log

16. Siber Güvenlik Açısından En İyi Uygulamalar

Root ile sürekli çalışmayın.

Normal kullanıcı kullanın, gerektiğinde sudo yetkisini tercih edin.


Güçlü parola politikası uygulayın.

  • En az 12 karakter

  • Büyük/küçük harf

  • Rakam

  • Özel karakter


Kullanılmayan hesapları kaldırın.

sudo deluser kullanıcı

Giriş yapmaması gereken servis hesaplarını kapatın.

sudo usermod -s /usr/sbin/nologin www-data

Gereksiz sudo yetkilerini kaldırın.

sudo deluser kullanıcı sudo

Düzenli hesap denetimi yapın.

Aylık olarak:

  • /etc/passwd

  • /etc/group

  • /etc/shadow

  • last

  • journalctl

çıktıları kontrol edilmelidir.


SSH güvenliğini artırın.

  • Root SSH girişini kapatın.

  • Anahtar tabanlı kimlik doğrulamayı tercih edin.

  • Başarısız girişleri izleyin.

  • Gerekirse Fail2Ban veya CrowdSec gibi araçlar kullanın.


17. Gerçek Hayat Senaryoları

Senaryo 1: Yeni Bir Sistem Yöneticisi

Yeni bir yönetici için kullanıcı oluşturun ve sudo grubuna ekleyin:

sudo adduser sysadmin
sudo usermod -aG sudo sysadmin

Senaryo 2: Geliştirici Ekibi

Bir grup oluşturun ve geliştiricileri bu gruba ekleyin:

sudo groupadd developers
sudo usermod -aG developers ali
sudo usermod -aG developers ayse
sudo usermod -aG developers mehmet

Ortak proje dizini oluşturup grup sahipliğini atayın:

sudo mkdir /srv/proje
sudo chown root:developers /srv/proje
sudo chmod 2775 /srv/proje

2 (setgid) biti sayesinde oluşturulan yeni dosyalar otomatik olarak developers grubuna ait olur.


Senaryo 3: Ayrılan Personelin Hesabını Devre Dışı Bırakma

Hesabı tamamen silmeden erişimi engelleyin:

sudo usermod -L personel
sudo usermod -s /usr/sbin/nologin personel

Bu yöntem, adli inceleme veya veri koruma gereksinimleri için hesabı saklarken erişimi kesmeye olanak tanır.


Sonuç

Pardus'ta kullanıcı ve grup yönetimi, sistem güvenliğinin temel taşlarından biridir. Doğru kullanıcı politikaları, uygun grup yapısı, en az yetki (Principle of Least Privilege) yaklaşımı ve düzenli denetimler sayesinde hem sistem yönetimi kolaylaşır hem de yetkisiz erişim riski önemli ölçüde azalır.


1. Temel Kavramlar

Pardus'ta her dosyanın, dizinin ve çalışan sürecin (proses) bir sahibi vardır. Sistem, isimleri değil numaraları okur.

  • UID (User ID - Kullanıcı Kimliği): Sistemin her kullanıcıya atadığı benzersiz kimlik numarasıdır.

    • 0: Her zaman en yetkili kullanıcı olan root kullanıcısına aittir.

    • 1-999: Sistem hesapları içindir (arkaplanda çalışan servisler, uygulamalar vs.).

    • 1000 ve üzeri: Normal kullanıcılara (sizin oluşturduğunuz hesaplar) verilir.

  • GID (Group ID - Grup Kimliği): Kullanıcıların yetkilerini kolayca yönetmek için bir araya getirildikleri grupların kimlik numarasıdır. Her kullanıcının en az bir birincil grubu vardır.

2. Kullanıcı ve Grup Bilgilerinin Tutulduğu Dosyalar

Pardus'ta tüm kullanıcı ve grup yapılandırmaları düz metin dosyalarında tutulur. Bu dosyaları okumak için cat komutunu kullanabilirsiniz.

Dosya Yolu

İçerik ve İşlevi

/etc/passwd

Sistemdeki tüm kullanıcıların listesi, UID/GID numaraları, ev dizini (/home/kullanici) ve kullandıkları kabuk (shell) bilgisini içerir.

/etc/shadow

Kullanıcıların şifrelenmiş (hash) parolalarını ve parola geçerlilik sürelerini tutar. Sadece yetkili (root) kullanıcılar okuyabilir.

/etc/group

Sistemdeki grupları, GID numaralarını ve o gruba üye olan kullanıcıları listeler.


3. Kullanıcı Yönetimi Komutları

Debian tabanlı sistemlerde kullanıcı eklemek için hem useradd hem de adduser komutları bulunur. Pardus'ta her zaman adduser kullanmanız önerilir, çünkü bu komut size sorular sorarak ev dizinini oluşturur ve işlemleri otomatikleştirir.

Yeni Kullanıcı Ekleme

Terminali açın ve aşağıdaki komutu girin. (Sistemde değişiklik yapacağımız için başına sudo ekleyerek root yetkisi alıyoruz).

    

        sudo adduser nuri

 

Bu komutu girdiğinizde sistem size sırasıyla yeni parolanızı, tam adınızı, oda numaranızı vb. soracaktır (İsim dışındaki bilgileri Enter tuşuna basarak boş geçebilirsiniz).


Kullanıcı Parolasını Değiştirme

Hem kendi parolanızı hem de yetkiniz varsa başkasının parolasını değiştirebilirsiniz.


        # Kendi parolanızı değiştirmek için: passwd  # Başka bir kullanıcının parolasını değiştirmek için (root yetkisi gerekir): sudo passwd nuri



Kullanıcı Silme

Bir kullanıcıyı sistemden kaldırmak için deluser komutu kullanılır.


         # Sadece kullanıcıyı siler, dosyaları /home dizininde kalır: sudo deluser nuri  # Kullanıcıyı VE tüm kişisel dosyalarını (/home/ahmet) kalıcı olarak siler: sudo deluser --remove-home nuri



4. Grup Yönetimi Komutları

Gruplar, belirli bir dosya veya donanıma (örneğin yazıcılar, ses aygıtları veya USB bellekler) birden fazla kişinin erişmesini sağlamak için kullanılır.


Yeni Grup Oluşturma ve Silme

Yeni bir çalışma grubu oluşturmak için addgroup komutunu kullanırız.


        # 'gelistiriciler' adında yeni bir grup oluşturma: sudo addgroup gelistiriciler  # Grubu sistemden silme:                 sudo delgroup gelistiriciler



Kullanıcıyı Bir Gruba Ekleme

Mevcut bir kullanıcıya yeni yetkiler vermek (örneğin onu bir gruba dahil etmek) için usermod komutu kullanılır. -aG (append Group) parametresi çok önemlidir; -a (ekle) parametresini unutursanız, kullanıcı eski gruplarından silinir.



    # 'nuri' kullanıcısını 'gelistiriciler' grubuna ekler: sudo usermod -aG gelistiriciler nuri



Önemli Not: Bir kullanıcıyı yeni bir gruba eklediğinizde, bu yetki değişikliğinin aktif olması için kullanıcının sistemden çıkış (logout) yapıp tekrar giriş yapması gerekir.


5. Yetki Yükseltme: "sudo" Grubunun Önemi

Pardus'ta kurulumu yapan ilk kullanıcı varsayılan olarak sistem yöneticisidir. Sistem yöneticisi olmak, komutların başına sudo yazabilmek demektir.


Eğer sisteme eklediğiniz "nuri" isimli kullanıcının da program kurabilmesini, sistemi güncelleyebilmesini (kısacası yönetici olmasını) istiyorsanız, onu sudo grubuna eklemelisiniz:



        sudo usermod -aG sudo nuri

 


6. Mevcut Durumu Görüntüleme Komutları

Sistemde kim olduğunuzu ve hangi yetkilere sahip olduğunuzu kontrol etmek için şu komutları kullanabilirsiniz:

  • whoami: Sisteme şu an hangi kullanıcı adıyla giriş yaptığınızı söyler.

  • groups: Üyesi olduğunuz tüm grupları listeler.

  • id: Mevcut kullanıcınızın UID, GID ve grup numaralarını detaylıca gösterir.

  • id ahmet: "ahmet" adlı kullanıcının detaylarını gösterir.

Bu adımlar, Pardus'un altyapısını oluşturan Linux çekirdeğinin standart güvenlik duvarlarıdır. Komut satırı (Uçbirim) üzerinden bu ayarları yapmak, Pardus XFCE veya GNOME arayüzündeki "Kullanıcılar" ayar menüsünden yapmaktan çok daha esnek ve detaylı kontrol sağlar.

 

Siber güvenlik perspektifinden bakıldığında, Pardus (ve genel olarak Linux) üzerinde kullanıcı ve grup yönetimi, sistemin ilk ve en önemli savunma hattıdır. Bir saldırganın veya zararlı bir yazılımın sistemde ne kadar ileri gidebileceği, ele geçirdiği kullanıcının yetkileriyle doğrudan orantılıdır.


Kullanıcı yönetimini bir siber güvenlik uzmanı veya sistem yöneticisi gözüyle yapılandırırken dikkat edilmesi gereken temel ilkeler ve araçlar şunlardır:


1. En Az Ayrıcalık Prensibi (Principle of Least Privilege)

Bir sisteme sızıldığında saldırganın ilk hedefi "Privilege Escalation" yani yetki yükseltmektir (normal bir kullanıcıdan root yetkisine geçmek). Bu riski minimize etmek için her kullanıcıya ve uygulamaya sadece görevini yapabileceği kadar yetki verilmelidir.

  • Günlük kullanım için asla root hesabı kullanılmamalıdır.

  • Her servisin (örneğin bir web sunucusu veya veritabanı) kendi adına çalışan, yetkileri sadece kendi klasörüyle kısıtlanmış bir sistem hesabı (UID 1-999 arası) olmalıdır. Böylece servis hacklense bile tüm sistem tehlikeye girmez.

2. 'sudo' Yetkilerini Daraltmak (visudo)

Bir kullanıcıyı doğrudan sudo grubuna eklemek, ona sistemin anahtarlarını tamamen teslim etmek demektir. Sınıf veya laboratuvar ortamlarında, bazı kullanıcıların belirli yönetim araçlarını kullanmasına izin verip, diğer her şeyi kısıtlamak isteyebilirsiniz.

Bunun için /etc/sudoers dosyası visudo komutu ile düzenlenir.


        # Sadece bu komutla açın (sözdizimi hatası yapmanızı engeller): sudo visudo



Örnek Senaryo: "nuri" kullanıcısının sadece ağ analizi yapabilmesi için Tshark ve Wireshark komutlarını sudo yetkisiyle çalıştırmasına izin vermek, ancak sistemi güncellemesini veya başka kullanıcılar eklemesini engellemek:

nuri ALL=(root) /usr/bin/tshark, /usr/bin/wireshark


3. Parola Politikaları ve Yaşlandırma (chage)

/etc/shadow dosyasında tutulan parolaların kırılmasını (Brute Force veya Dictionary Attack) zorlaştırmak için sadece karmaşık parola seçmek yetmez; parolaların bir ömrü olmalıdır. Kullanıcıların parolalarını düzenli değiştirmeye zorlamak için chage komutu kullanılır.



        # ahmet kullanıcısının parola süresini yapılandırma: sudo chage -M 90 -m 7 -W 14 nuri


  • -M 90: Parola en fazla 90 gün kullanılabilir.

  • -m 7: Parola değiştirildikten sonra en az 7 gün geçmeden tekrar değiştirilemez (sık sık değiştirip eski parolaya dönmeyi engeller).

  • -W 14: Parolanın süresi dolmadan 14 gün önce kullanıcıya uyarı vermeye başlar.

4. Fiziksel Erişim ve Oturum Güvenliği

Siber güvenlik sadece ağ üzerinden gelen tehditleri kapsamaz; bilgisayarın başından kalktığınız o kısa anlar da büyük bir zafiyettir. Akıllı tahtalar (Pardus ETAP) veya laboratuvar bilgisayarları gibi ortak kullanım alanlarında açık bırakılan bir oturum, tüm yetkilendirme duvarlarını anlamsız kılar.


Cinnamon masaüstü ortamını temel alan sistemlerde, bilgisayar başından ayrılırken oturumu hızlıca kilitlemek için terminalde veya bir kısayol betiğinde şu komut kullanılmalıdır:



        dm-tool lock

 


Bu komut, LightDM görüntü yöneticisine oturumu anında kilitleme talimatı vererek fiziksel erişim sağlayan yetkisiz kişilerin açık oturumdan faydalanmasını engeller.


5. İz Sürme ve Log Yönetimi (Adli Bilişim)

Bir sistemde kimin, ne zaman, hangi komutu yetkili olarak çalıştırmaya çalıştığını bilmek zorundasınız. Linux sistemlerde giriş denemeleri, yetki yükseltme (sudo) istekleri ve başarısız şifre denemeleri varsayılan olarak /var/log/auth.log dosyasına kaydedilir.


   # Başarısız giriş denemelerini veya sudo hatalarını anlık izlemek için: tail -f /var/log/auth.log | grep -i "failed"



Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu