Ana içeriğe geç
Kısım 14 - Kimin Yetkisi Var?
  1. Linux Bootcamp/

Kısım 14 - Kimin Yetkisi Var?

· ·
NKÜ Siber Güvenlik Topluluğu
Yazar
NKÜ Siber Güvenlik Topluluğu
Kampüste dijital dönüşüm. Sen de bize katıl!
Yazar
Yiğit Altınay
Bir kaplumbağa olsaydım Fransızca konuşurdum.

14. Kısım - Kimin Yetkisi Var?
#

GİRİŞ
#

Linux sistemindeki dosyaların her zaman bir “izin” seti vardır. Bu izinler, kimin erişebileceğini ve ne tür erişim sağlayabileceğini belirler. Daha önce de bu izinlerle karşılaştınız – örneğin, sıradan bir kullanıcı olarak /var/www dizinine doğrudan dosya yükleyemediniz veya kök dizinde (/) yeni bir klasör oluşturamadınız.

Linux’un izin sistemi oldukça basittir, ancak bazı ince ve kendine özgü yönleri vardır. Bugün bu sistemin temel kavramlarına giriş yapacağız.

KAYNAKLAR bölümündeki materyalleri detaylıca incelemeniz gerçekten çok faydalı olacaktır!

BUGÜNKÜ GÖREVLERİNİZ
#

  • Bir dosyanın sahipliğini kök kullanıcıya atayın.
  • Dosya izinlerini değiştirin.

SAHİPLİK (Ownership)
#

Önce dosya sahipliğini inceleyelim. Linux’taki her dosya, bir kullanıcı ve bir grup tarafından sahiplenilir. Örneğin şu çıktıyı inceleyelim:

-rw-------  1 steve  staff  4478979  6 Feb  2011 private.txt
-rw-rw-r--  1 steve  staff  4478979  6 Feb  2011 press.txt
-rwxr-xr-x  1 steve  staff  4478979  6 Feb  2011 upload.bin

Bu çıktıya göre dosyalar “steve” kullanıcısına ve “staff” grubuna aittir. “steve” ya da “staff” grubuna üye olmayan diğer tüm kullanıcılar “other” (diğer) olarak kabul edilir. Bu “diğer” kullanıcılar belirli izinlere sahip olabilirler, ancak dosyalar üzerinde sahiplik hakları yoktur.

Bir dosyanın sahipliğini değiştirmek için chown komutunu kullanabilirsiniz. Örneğin:

sudo chown kullanıcı_adi dosya

Kullanıcı ve grup sahipliğini aynı anda değiştirmek için:

sudo chown kullanıcı:grup dosya

Yalnızca grup sahipliğini değiştirmek için chgrp komutunu kullanabilirsiniz:

sudo chgrp grup dosya

Önceki derste oluşturduğunuz yeni kullanıcılarla giriş yaparak ana dizinlerinde birkaç dosya oluşturun. Ardından bu dosyaları ls -l komutuyla listeleyerek sahiplik bilgilerini inceleyin.

İZİNLER (Sembolik Gösterim)
#

İzinleri anlamak için -rw-r--r-- gibi bir çıktıyı inceleyelim. (İlk - karakterini şimdilik yok sayalım.) Bu dizgi, dosyanın kullanıcı (user), grup (group) ve diğer kişiler (other) için verilen izinlerini gösterir. Bu üçlü gruba UGO denir.

Örneğin yukarıdaki listede:

  • private.txt: Sadece “steve” kullanıcısının okuma ve yazma (rw) izni var. Grup ve diğer kişiler için izin verilmemiş.
  • press.txt: “steve” ve “staff” grubu dosya üzerinde okuma ve yazma iznine sahip. Diğer herkes ise yalnızca okuma iznine sahip.
  • upload.bin: “steve” dosyayı okuyabilir, yazabilir ve çalıştırabilir (rwx). Grup ve diğer kullanıcılar ise yalnızca okuma ve çalıştırma iznine sahip.

Bir dosyanın izinlerini değiştirmek için chmod komutunu kullanabilirsiniz. Örneğin, ana dizininizde vim ile bir metin dosyası (tuesday.txt) oluşturun ve içeriğini görüntüleyin:

cat tuesday.txt

Dosyanın izinlerini listelemek için:

ls -ltr tuesday.txt

Örnek çıktı:

-rw-rw-r-- 1 ubuntu ubuntu 12 Nov 19 14:48 tuesday.txt

Bu dosya, “ubuntu” kullanıcısına ve grubuna aittir. Kullanıcı ve grup dosyaya yazabilir, ancak diğer kullanıcılar yalnızca okuyabilir.

İZİNLERİ DEĞİŞTİRME
#

Şimdi kullanıcı ve grubun dosyaya yazma iznini kaldırın:

chmod u-w tuesday.txt
chmod g-w tuesday.txt

Diğer kullanıcıların okuma iznini kaldırın:

chmod o-r tuesday.txt

Değişiklikleri kontrol etmek için:

ls -l tuesday.txt

Örnek çıktı:

-r--r----- 1 ubuntu ubuntu 12 Nov 19 14:48 tuesday.txt

Artık dosya, sahibi tarafından bile düzenlenemeyecek durumda. Ancak sahibi olarak, vim veya nano ile düzenleyip :w! komutunu kullanarak zorla kaydedebilirsiniz. İzinleri geri vermek için:

chmod u+w tuesday.txt

İLERLEMENİZİ PAYLAŞIN
#

Kendi ana dizininizde secret.txt adında bir dosya oluşturun ve kullanıcı, grup ve diğer kişiler için tüm izinleri kaldırın. Ardından dosyayı düzenlemeyi deneyin ve sonuçları gözlemleyin.

EK BİLGİLER
#

Eğer bu konular size tanıdık geliyorsa, Linux ACL’lerini incelemek isteyebilirsiniz:

Ayrıca SELinux ve AppArmor konularına göz atabilirsiniz:

KAYNAKLAR
#

Bazı haklar saklıdır. Lisans koşullarını buradan inceleyin.


Related

Kısım 07 - Sunucu ve Servisleri
Kısım 08 - Meşhur "grep" ve Diğer Metin İşleme Araçları
Kısım 13 - Kullanıcılar ve Gruplar
Kısım 16 - Arşivleme ve Sıkıştırma
Kısım 04 - Yazılım Kurulumu ve Dosya Yapısının Keşfi
Kısım 05 - More veya Less...