Linux işletim sistemi, güvenliği ve kullanıcı yönetimini sağlamak için etkili yöntemler sunar. Bu blog yazısında, Linux dosya izinleri, kullanıcı ve grup yönetimi ile sudo ve root yetkilerini ele alacağız.
Dosya İzinleri Nasıl Çalışır? (rwx Sistemi)
Linux’ta dosya ve dizin izinleri, her dosyanın kimler tarafından okunabileceğini, yazılabileceğini ve çalıştırılabileceğini belirler. İzinler, üç temel kategoriye ayrılır:
- Okuma (r): Dosyanın içeriğini okuma izni.
- Yazma (w): Dosyanın içeriğini değiştirme izni.
- Çalıştırma (x): Dosyayı çalıştırma izni (genellikle programlar ve betikler için).
Bu izinler, üç farklı kullanıcı türü için ayrı ayrı tanımlanır:
- Sahip (user): Dosyanın sahibi.
- Grup (group): Dosyanın sahibinin ait olduğu grup.
- Diğerleri (others): Sahip ve grup dışında kalan tüm kullanıcılar.
Bir dosyanın izinlerini görmek için ls -l
komutunu kullanabilirsiniz. Örneğin, rwxr-xr--
şeklinde bir izin seti şu anlama gelir:
- Sahip (user): Okuma, yazma ve çalıştırma iznine sahip.
- Grup (group): Okuma ve çalıştırma iznine sahip.
- Diğerleri (others): Sadece okuma iznine sahip.
Dosya izinlerini değiştirmek için chmod
komutu kullanılır. chmod
komutunda çeşitli seçenekler vardır ve kullanıcıya, gruba veya diğer kullanıcılara izin vermek veya izinleri kaldırmak için kullanılır. İşte chmod
komutunun nasıl kullanıldığına dair detaylar:
chmod
Komutunun Kullanımı
chmod
komutu, dosya veya dizinlerin izinlerini değiştirmek için kullanılır. chmod
komutunda izinleri belirlemek için sembolik veya sayısal yöntemler kullanılabilir. Bu bölümde sembolik yönteme odaklanacağız.
- Kullanıcı Tipleri:
- u: Dosyanın sahibi (user)
- g: Dosyanın grubu (group)
- o: Diğer kullanıcılar (others)
- a: Tüm kullanıcılar (all)
- İzin Türleri:
- r: Okuma izni (read)
- w: Yazma izni (write)
- x: Çalıştırma izni (execute)
İzinleri Ekleme, Kaldırma ve Ayarlama
- Ekleme (+): Bir izni ekler.
chmod u+x dosya_adi
Bu komut, dosyanın sahibine çalıştırma izni ekler. - Kaldırma (-): Bir izni kaldırır.
chmod g-w dosya_adi
Bu komut, grubun dosya üzerindeki yazma iznini kaldırır. - Ayarlama (=): Belirli izinleri ayarlar ve diğer izinleri kaldırır.
chmod o=r dosya_adi
Bu komut, diğer kullanıcılar için sadece okuma izni ayarlar ve diğer tüm izinleri kaldırır.
Örnekler
- Dosya sahibine yazma izni ekleme:
- Grup için çalıştırma iznini kaldırma:
- Diğer kullanıcılar için sadece okuma izni ayarlama:
- Tüm kullanıcılar için çalıştırma izni ekleme:
Sayısal Yöntemle chmod
Kullanımı
Sayısal yöntemle chmod
komutu, izinleri üç basamaklı bir sayı kullanarak ayarlar. Her basamak, izin türlerini temsil eder ve 4, 2 ve 1 değerlerinin kombinasyonu ile elde edilir:
- 4 (r): Okuma izni
- 2 (w): Yazma izni
- 1 (x): Çalıştırma izni
Bu değerler toplanarak izin setleri oluşturulur. Örneğin:
- 7 (rwx): Okuma, yazma ve çalıştırma izni
- 6 (rw-): Okuma ve yazma izni
- 5 (r-x): Okuma ve çalıştırma izni
- 4 (r–): Sadece okuma izni
Sayısal izinleri kullanarak chmod
komutu şöyle uygulanır:
Bu komut, sahibine (user) okuma, yazma ve çalıştırma izni (7), grubuna (group) ve diğer kullanıcılara (others) ise okuma ve çalıştırma izni (5) verir.
Örnekler
- Dosya sahibine tam erişim, grup ve diğerlerine okuma ve çalıştırma izni:
chmod 755 dosya_adi
- Tüm kullanıcılara tam erişim:
chmod 777 dosya_adi
- Sadece dosya sahibine okuma ve yazma izni, diğerlerine hiçbir izin vermeme:
chmod 600 dosya_adi
Burada, 600 sayısı dosya sahibine (user) okuma (4) ve yazma (2) izni verirken, grup (group) ve diğer kullanıcılara (others) hiçbir izin (0) vermemektedir. - Dosya sahibine okuma ve yazma izni, gruba okuma izni, diğerlerine hiçbir izin vermeme:
chmod 640 dosya_adi
Bu komut, dosya sahibine (user) okuma ve yazma izni (6), gruba (group) okuma izni (4) ve diğerlerine (others) hiçbir izin (0) vermez.
Kullanıcı ve Grup Yönetimi (adduser, deluser, usermod)
Linux’ta kullanıcı ve grup yönetimi, sistemin düzenli ve güvenli bir şekilde çalışmasını sağlar. Yeni bir kullanıcı oluşturmak için adduser
komutunu kullanabilirsiniz. Bu komut, kullanıcının ev dizinini ve başlangıç dosyalarını otomatik olarak ayarlar. Örneğin:
Bir kullanıcıyı sistemden kaldırmak için deluser
komutunu kullanabilirsiniz. Bu komut, kullanıcıyı sistemden siler ve istenirse kullanıcıya ait dosyaları da kaldırır. Örneğin:
Var olan bir kullanıcıyı güncellemek veya değiştirmek için usermod
komutu kullanılır. usermod
komutunun birçok parametresi vardır. Örneğin:
- -aG: Kullanıcıyı mevcut gruplarına ek olarak başka bir gruba ekler.
-a
(append) parametresi olmadan-G
parametresi kullanılırsa, kullanıcı belirtilen gruba eklenir ancak mevcut gruplarından çıkarılır. Bu nedenle, kullanıcının mevcut gruplarına zarar vermeden yeni bir gruba eklemek için-aG
parametresi kullanılır. Örneğin:sudo usermod -aG yeni_grup mevcut_kullanici
- -L: Kullanıcı hesabını kilitler. Örneğin:
sudo usermod -L kullanıcı_adi
- -U: Kullanıcı hesabının kilidini açar. Örneğin:
sudo usermod -U kullanıcı_adi
Kullanıcının şifresini değiştirmek için passwd
komutu kullanılır. Örneğin:
Sudo ve Root Yetkileri
Linux’ta sudo
komutu, normal kullanıcılara geçici olarak yönetici (root) yetkileri sağlar. Bu, özellikle sistem yönetimi görevlerini gerçekleştirmek için gereklidir. sudo
kullanımı, belirli komutların root yetkileriyle çalıştırılmasına olanak tanır ve bu da sistem güvenliği açısından önemlidir. Örneğin, bir paketi yüklemek için:
Root kullanıcısı, sistemdeki tüm dosyalara ve komutlara sınırsız erişim yetkisine sahiptir ve bu yetkilerle çalışırken dikkatli olunmalıdır. Yanlış bir komut, sistemde ciddi problemlere yol açabilir. Root yetkilerine kalıcı olarak erişmek için sudo -i
komutu kullanılabilir, bu komut sizi root kullanıcısının shell’ine taşır.
Sonuç olarak, Linux dosya izinleri ve kullanıcı yönetimi, sistemin güvenli ve etkili bir şekilde çalışmasını sağlar. Dosya izinlerinin doğru ayarlanması, kullanıcı ve grup yönetiminin
düzenli yapılması ve sudo/root yetkilerinin dikkatli kullanılması, sistem yöneticilerinin başlıca görevlerindendir. Bu temel bilgilerle, Linux sistem yönetiminde daha güvenli ve organize bir çalışma ortamı yaratabilirsiniz.