Linux çok kullanıcılı bir işletim sistemidir. Aynı sistem üzerinde birden fazla kişi çalışabilir ve her birinin farklı yetkileri olabilir. Kullanıcı ve grup yönetimi, sistem güvenliğinin ve erişim kontrolünün temelini oluşturur.
Kullanıcı ve Grup Kavramları
Her Linux kullanıcısının benzersiz bir kimliği (UID) vardır. Root kullanıcısının UID'si 0'dır. Normal kullanıcılar genellikle 1000'den başlayan UID'ler alır.
Gruplar, kullanıcıları bir araya getirerek toplu yetki atamasını kolaylaştırır. Her kullanıcının bir birincil grubu ve birden fazla ikincil grubu olabilir.
Temel Dosyalar
/etc/passwd
Kullanıcı bilgilerini içerir. Herkes okuyabilir.
Format: kullanici:x:UID:GID:Açıklama:ev_dizini:kabuk
ahmet:x:1000:1000:Ahmet Yılmaz:/home/ahmet:/bin/bash
/etc/shadow
Şifreli parolalar burada saklanır. Sadece root okuyabilir.
/etc/group
Grup bilgilerini içerir.
Format: grup_adi:x:GID:üyeler
developers:x:1001:ahmet,mehmet
/etc/gshadow
Grup parolaları burada saklanır.
Kullanıcı Yönetimi
Kullanıcı Oluşturma
useradd komutu:
sudo useradd ahmet
Bu temel komut kullanıcı oluşturur ama ev dizini ve parola oluşturmaz.
Tam özellikli kullanıcı oluşturma:
sudo useradd -m -s /bin/bash -c "Ahmet Yılmaz" ahmet
-m: Ev dizini oluşturur -s: Varsayılan kabuk belirler -c: Açıklama ekler
adduser alternatifi (Debian/Ubuntu):
sudo adduser ahmet
Interaktif çalışır, parola ve bilgileri sorar. Yeni başlayanlar için daha kolay.
Parola Atama
sudo passwd ahmet
Kullanıcı kendi parolasını değiştirebilir:
passwd
Root herkesin parolasını değiştirebilir:
sudo passwd kullanici
Kullanıcı Bilgilerini Değiştirme
usermod komutuyla mevcut kullanıcı düzenlenir:
Kabuk değiştirme:
sudo usermod -s /bin/zsh ahmet
Ev dizini değiştirme:
sudo usermod -d /home/yeni_dizin -m ahmet
Kullanıcı adı değiştirme:
sudo usermod -l yeni_isim eski_isim
Kullanıcıyı gruba ekleme:
sudo usermod -aG sudo ahmet
-a: Mevcut gruplara ekle (kaldırma) -G: İkincil grup(lar)
Hesap kilitleme:
sudo usermod -L ahmet
Hesap açma:
sudo usermod -U ahmet
Kullanıcı Silme
Kullanıcıyı sil (ev dizini kalır):
sudo userdel ahmet
Kullanıcıyı ve ev dizinini sil:
sudo userdel -r ahmet
Kullanıcı Bilgisi Görüntüleme
Mevcut kullanıcı:
whoami
Kullanıcı bilgisi:
id ahmet
Çıktı: uid=1000(ahmet) gid=1000(ahmet) groups=1000(ahmet),27(sudo)
Kullanıcının grupları:
groups ahmet
Tüm kullanıcıları listeleme:
cat /etc/passwd getent passwd
Grup Yönetimi
Grup Oluşturma
sudo groupadd developers
Belirli GID ile:
sudo groupadd -g 2000 developers
Grup Silme
sudo groupdel developers
Gruba Kullanıcı Ekleme
sudo usermod -aG developers ahmet
Veya:
sudo gpasswd -a ahmet developers
Gruptan Kullanıcı Çıkarma
sudo gpasswd -d ahmet developers
Grup Yöneticisi Atama
sudo gpasswd -A ahmet developers
Artık ahmet, developers grubuna üye ekleyip çıkarabilir.
Grupları Listeleme
cat /etc/group getent group
Belirli grubun üyeleri:
getent group developers
Sudo Yetkileri
sudo, kullanıcıların root yetkisiyle komut çalıştırmasını sağlar.
Kullanıcıyı sudo grubuna ekleme (Debian/Ubuntu):
sudo usermod -aG sudo ahmet
CentOS/RHEL'de wheel grubu kullanılır:
sudo usermod -aG wheel ahmet
Sudoers Dosyası
/etc/sudoers dosyası sudo yetkilerini tanımlar. Düzenlemek için:
sudo visudo
Asla doğrudan editörle düzenlemeyin, sözdizimi hatası sistemi kilitleyebilir.
Örnek kurallar:
Kullanıcıya tam yetki
ahmet ALL=(ALL:ALL) ALL
Grup üyelerine yetki
%developers ALL=(ALL) ALL
Belirli komutlara izin
ahmet ALL=(ALL) NOPASSWD: /usr/bin/apt update, /usr/bin/apt upgrade
Parola sormadan yetki (dikkatli kullanın)
ahmet ALL=(ALL) NOPASSWD: ALL
Parola Politikaları
chage Komutu
Parola yaşlanma ayarları:
Parola bilgisi görüntüleme:
sudo chage -l ahmet
Parola süresini 90 güne ayarlama:
sudo chage -M 90 ahmet
Parola değişikliğini zorunlu kılma:
sudo chage -d 0 ahmet
Sonraki girişte parola değiştirmesi gerekir.
Minimum parola yaşı (kaç gün sonra değiştirebilir):
sudo chage -m 7 ahmet
Hesap süresini belirleme:
sudo chage -E 2025-12-31 ahmet
PAM (Pluggable Authentication Modules)
Parola karmaşıklığı ve güvenlik politikaları PAM ile yapılandırılır.
/etc/security/pwquality.conf dosyasında:
minlen = 12 minclass = 3 dcredit = -1 ucredit = -1 lcredit = -1
Kullanıcı Ortamı
Ev Dizini Şablonu
Yeni kullanıcıların ev dizini /etc/skel dizininden kopyalanır.
ls -la /etc/skel
Özel dosyalar eklemek için /etc/skel dizinine koyun.
Kabuk Yapılandırması
.bashrc: Bash ayarları .profile: Giriş ayarları .bash_logout: Çıkış komutları
Varsayılan Kabuğu Değiştirme
chsh -s /bin/zsh
Sistem Kullanıcıları
Servisler için sistem kullanıcıları oluşturulur. Giriş yapamazlar, ev dizinleri olmayabilir.
sudo useradd -r -s /usr/sbin/nologin webserver
-r: Sistem kullanıcısı -s /usr/sbin/nologin: Giriş engellenir
Pratik Örnekler
Geliştirici Ekibi Kurulumu
Grup oluştur:
sudo groupadd developers
Kullanıcılar oluştur ve gruba ekle:
sudo useradd -m -s /bin/bash -G developers ali sudo useradd -m -s /bin/bash -G developers veli sudo passwd ali sudo passwd veli
Proje dizini oluştur ve yetkilendir:
sudo mkdir /var/projects sudo chown :developers /var/projects sudo chmod 2775 /var/projects
2775: Grup yazabilir, sticky bit grup miras alır.
Geçici Hesap Oluşturma
sudo useradd -m -e 2025-06-30 stajyer sudo passwd stajyer
Hesap otomatik olarak 30 Haziran'da devre dışı olur.
Güvenlik İpuçları
Root hesabıyla doğrudan giriş yapmayın. sudo kullanın. Güçlü parola politikaları uygulayın. Kullanılmayan hesapları kilitleyin veya silin. sudo yetkilerini minimum tutun. Düzenli olarak /etc/passwd ve /etc/group dosyalarını denetleyin. Başarısız giriş denemelerini izleyin: faillog -a
Sonuç
Kullanıcı ve grup yönetimi Linux sistem yönetiminin temelidir. Doğru yapılandırma güvenliği ve düzeni sağlar.
Temel komutları öğrenin: useradd, usermod, userdel, groupadd, passwd. Sudo yetkilerini dikkatli atayın. Parola politikalarını uygulayın.
Çok kullanıcılı sistemlerde iyi planlama şart. Grupları mantıklı kullanarak yetki yönetimini basitleştirin.
0 Yorum
Yorum Yaz