Linux Sunucularında Kullanıcı Yönetimi ve İzinler
Linux Sunucularında Kullanıcı Yönetimi ve İzinler
"Linux Sunucularında Kullanıcı Yönetimi ve İzinler" konusunu anlamak, sunucu yönetiminde kritik bir beceridir. Bu konu, kullanıcıların nasıl yönetileceği, hangi izinlere sahip oldukları ve sistem üzerindeki güvenlik denetimlerinin nasıl sağlanacağı gibi temel unsurları içerir.
1. Linux'ta Kullanıcı Yönetimi
Linux'ta her kullanıcı, belirli kimlik bilgilerine (UID - User ID) ve gruplara (GID - Group ID) sahiptir. Kullanıcı yönetimi, yeni kullanıcı oluşturma, mevcut kullanıcıları düzenleme ve kullanıcıları silme işlemlerini içerir.
a) Yeni Kullanıcı Oluşturma
Yeni bir kullanıcı oluşturmak için useradd
komutu kullanılır. Bu komutla yeni bir kullanıcı eklenir ve otomatik olarak home dizini oluşturulur.
sudo useradd -m yeni_kullanici
sudo passwd yeni_kullanici
-m
seçeneği, kullanıcının ana dizininin oluşturulmasını sağlar.passwd
komutuyla kullanıcının şifresi atanır.
b) Mevcut Kullanıcıları Yönetme
Kullanıcıların ayarlarını güncellemek için usermod
komutu kullanılır. Örneğin, bir kullanıcıyı bir gruba eklemek için:
sudo usermod -aG group_name kullanıcı_adı
-aG
parametresi, kullanıcının mevcut gruplarına bir grup ekler.
c) Kullanıcı Silme
Bir kullanıcıyı silmek için userdel
komutu kullanılır. Kullanıcının ana dizinini de silmek için:
sudo userdel -r kullanıcı_adı
-r
parametresi, kullanıcının home dizinini de siler.
2. Linux'ta İzinler
Linux, dosya ve dizin erişim izinlerini denetlemek için bir izin sistemi kullanır. Her dosya ve dizin, üç temel izin türüyle ilişkilendirilir: Okuma (Read - r
), Yazma (Write - w
), ve Çalıştırma (Execute - x
). İzinler, üç farklı kullanıcı düzeyi için tanımlanır:
- Sahip (Owner): Dosyanın veya dizinin sahibi olan kullanıcı.
- Grup (Group): Dosya veya dizine atanan grup.
- Diğerleri (Others): Sahip ve gruptan farklı diğer tüm kullanıcılar.
a) İzinleri Görüntüleme
Bir dosyanın izinlerini görüntülemek için ls -l
komutu kullanılır. Çıktı şu şekilde görünür:
Bu format, izinlerin şu şekilde dağıtıldığını gösterir:
- İlk karakter dosyanın türünü gösterir (örneğin,
-
normal dosya,d
dizin). - İlk üç karakter (rwx) sahibin izinlerini gösterir.
- İkinci üçlü (r-x) grup izinlerini gösterir.
- Son üçlü (r--) diğer kullanıcıların izinlerini belirtir.
b) İzinleri Değiştirme
İzinler chmod
komutuyla değiştirilebilir. İki farklı yöntemle kullanılabilir: sembolik yöntem veya sayısal yöntem.
- Sembolik Yöntem: Örneğin, bir dosya için çalıştırma izni eklemek:
chmod u+x dosya_adı
u
sahip anlamına gelir,x
ise çalıştırma izni anlamına gelir.- Sayısal Yöntem: İzinler, üç basamaklı bir sayı ile ayarlanabilir (okuma = 4, yazma = 2, çalıştırma = 1).
- Örneğin, bir dosyaya 755 izni vermek:
chmod 755 dosya_adı
Bu şu anlama gelir:
- Sahip: Okuma, yazma, çalıştırma (7 = 4+2+1).
- Grup: Okuma ve çalıştırma (5 = 4+1).
- Diğerleri: Okuma ve çalıştırma (5 = 4+1).
c) Sahipliği Değiştirme
Bir dosyanın sahibini ve grubunu değiştirmek için chown
komutu kullanılır. Örneğin:
sudo chown yeni_sahip:yeni_grup dosya_adı
Bu komut, dosyanın sahibi ve grubunu değiştirir.
3. Özel İzinler
Linux'ta bazı özel izinler de vardır:
- Setuid (set user ID): Bir dosya çalıştırıldığında, dosyanın sahibi tarafından sahip olunan izinlerle çalıştırılmasını sağlar.
- Setgid (set group ID): Bir dizine uygulandığında, o dizinde oluşturulan dosyaların grup sahipliğini dizinin grubuna atar.
- Sticky bit: Bir dizine uygulandığında, sadece dosyanın sahibi o dosyayı silebilir.
Örneğin, bir dizine sticky bit eklemek:
chmod +t dizin_adı
4. Grup Yönetimi
Linux'ta gruplar, kullanıcıların izinlerini düzenlemek için kullanılır. Her kullanıcı en az bir gruba üye olur ve birden fazla gruba üye olabilir.
- Yeni Grup Oluşturma:
groupadd
komutuyla yeni grup eklenir.
sudo groupadd grup_adı
- Kullanıcıları Gruba Ekleme:
usermod
komutuyla kullanıcılar gruplara eklenir.
sudo usermod -aG grup_adı kullanıcı_adı
Sonuç
Linux sunucularında kullanıcı yönetimi ve izinler, sistem güvenliğini sağlamak ve yetkilendirme süreçlerini doğru bir şekilde yönetmek için hayati önem taşır. Kullanıcı ve grup yönetimi, izinlerin doğru ayarlanması ve güvenlik mekanizmalarının etkin kullanımı, bir sunucunun stabil ve güvenli çalışmasını sağlar.