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;
apachemysqlpostgreswww-datarootnuri
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 : nuriGroup : 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
developersaliveliayş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;
UIDGID
ile yürütülür.
UID
User ID
Örneğin
rootUID=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
daemonwww-datamysqlpostgres
Genellikle
UID1-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 Groupnuri
Secondary Group
Ek yetkiler verir.
Örneğin
sudodockerdevelopers
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ıŞifreUIDGIDAçıklamaHomeShell
/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
ŞifreAd SoyadTelefonDiğer bilgiler
Oluşturulanlar
/home/alimailboxprimary 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 alisudo apt update
12. Dosya İzinleri ile İlişkisi
Bir dosya
-rwxr-x---
Sahibi
ali
Grubu
developers
Yetkiler
OwnerrwxGroupr-xOthers---
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
Aç
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/shadowlastjournalctl
çı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 sysadminsudo usermod -aG sudo sysadmin
Senaryo 2: Geliştirici Ekibi
Bir grup oluşturun ve geliştiricileri bu gruba ekleyin:
sudo groupadd developerssudo usermod -aG developers alisudo usermod -aG developers aysesudo usermod -aG developers mehmet
Ortak proje dizini oluşturup grup sahipliğini atayın:
sudo mkdir /srv/projesudo chown root:developers /srv/projesudo 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 personelsudo 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