GNU/Linux Notları #3 – Yetkiler

BÖLÜM 4: YETKİLER VE KURULUM YÖNETİMİ

DOSYA VE DİZİN ERİŞİM YETKİLERİ (FILE AND DIRECTORY ACCESS PRIVILEGES)

    • Dosya ve dizinlerin (nesnelerin) erişim hakları ls –l komutuyla görüntülenebilir.
    • Yetkilerdeki ifadeler, dosya veya dizinler (nesneler) için şöyle anlamlandırılır:
KARAKTER ANLAMI
d Directory anlamındadır. Nesnenin dizin olduğunu belirtir.
Nesnenin bir dosya (file) olduğunu (dizin/directory) olmadığını) belirtir.
r Read anlamındadır. Nesnede okuma yetkisi bulunduğunu belirtir.
w Write anlamındadır. Nesnede yazma yetkisi bulunduğunu belirtir.
x Execute anlamındadır. Nesnede çalıştırma yetkisi bulunduğunu belirtir.
  • Yetki ifadeleri 10 adettir.
  • 4 bölümden oluşurlar.
1. Bölüm 2. Bölüm 3. Bölüm 4. Bölüm
Nesne Türü Kullanıcının (User’s) Yetkileri Grubun (Group’s) Yetkileri Diğerlerinin (Others) Yetkileri
– veya d rwx rwx rwx
Dosya veya Dizin Read, Write, Execute (Okuma, Yazma, Çalıştırma) Read, Write, Execute (Okuma, Yazma, Çalıştırma) Read, Write, Execute (Okuma, Yazma, Çalıştırma)

 

DOSYA VE DİZİN ERİŞİM YETKİLERİ

    • Dosya ve dizinlerin (nesnelerin) erişim hakları chmod komutuyla değiştirilir.
    • Kullanım kalıbı şu şekildedir:
      • chmod u/g/o/a +/-/= r/w/x/s/t <nesne>
    • Komuttaki ifadeler şöyle anlamlandırılır:
1. Bölüm 2. Bölüm 3. Bölüm 4. Bölüm 5. Bölüm
Komut Parametre Parametre Parametre Nesne
Chmod u, g, o, a +, -, = r, w, x nesne
user, group, others, all ekleme, çıkarma, eşitleme read, write, execute
  • Örneğin test isimli bir txt dosyasına, herkes için okuma izni vermek istersek;
    • chmod a+r test.txt

SAYISAL İFADELERLE

    • Yetkiler, rakamlarla da sayısal olarak ifade edilebilirler.
YETKİ SAYISAL İFADE
r 4
w 2
x 1

 

1. Bölüm 2. Bölüm 3. Bölüm 4. Bölüm
Nesne Türü Kullanıcının (User’s) Yetkileri Grubun (Group’s) Yetkileri Diğerlerinin (Others) Yetkileri
– veya d r w x r w x r w x
Dosya veya Dizin 4 2 1 4 2 1 4 2 1
    • İlgili bölümün yetki rakamları toplanır. Toplam sayı, ilgili bölümün yetkilerini sayısal olarak ifade eder.
1. Bölüm 2. Bölüm 3. Bölüm 4. Bölüm
Nesne Türü Kullanıcının (User’s) Yetkileri Grubun (Group’s) Yetkileri Diğerlerinin (Others) Yetkileri
– veya d r w x r w x r w x
Dosya veya Dizin 4 2 1 = 7 4 2 1 = 7 4 2 1 = 7
    • Yetkinin bulunmadığı durum, 0 (sıfır) değerindedir. – Örnek;
1. Bölüm 2. Bölüm 3. Bölüm 4. Bölüm
Nesne Türü Kullanıcının (User’s) Yetkileri Grubun (Group’s) Yetkileri Diğerlerinin (Others) Yetkileri
– veya d r – x – w x r w –
Dosya veya Dizin 4+0+1 = 5 0+2+1 = 3 4+2+0 = 6
  • Chmod komutuna sadece sayısal değer verilmesi yeterlidir.
  • Her bir rakam, bir bölümü temsil edecektir.
  • Örn;
    • chmod 777 test.txt (Test.txt dosyasına kullanıcı, grup ve diğerleri için rwx yetkisi verilmiş olur.)
    • chmod 755 test.txt (Test.txt dosyasına kullanıcı için rwx, grup için r-x ve diğerleri için r-x yetkisi verilmiş olur.)
    • chmod 536 test.txt (Test.txt dosyasına kullanıcı için r-x, grup için -wx ve diğerleri için rw- yetkisi verilmiş olur.)

LOKAL KULLANICI KOMUTLARI (LOCAL USER MANAGEMENT)

KOMUT İŞLEV
chage –l <kullanıcıadı> Kullanıcının bilgilerini görüntüler.
chfn <kullanıcıadı> Kullanıcı bilgilerinin değiştirilmesini sağlar.
passwd <kullanıcıadı> Kullanıcının şifresini değiştirir.
adduser <kullanıcıadı> , useradd –m <kullanıcıadı> Kullanıcı oluşturma komutlarıdır. –m parametresi, home dizini de yaratılmasını sağlar.
deluser –remove-all-files <kullanıcıadı> , userdel –remove-all-files <kullanıcıadı> Kullanıcı silme komutlarıdır. –remove-all-files parametresi kullanılmazsa, home dizini silinmez.
su – <kullanıcıadı> Diğer kullanıcının yetkilerini ve shell’ini devralır.
usermod –a –G sudo <kullanıcıadı> Kullanıcıyı, root yetkilerine sahip sudo grubunun üyesi eder.
sudo <komut> Komutu, sudo grubu aracılığıyla, root kullanıcısının yetkileri ile çalıştırır.
  • Sistemdeki en yetkili kullanıcı root’tur.
  • Kullanıcı bilgileri /etc/passwd
  • Kullanıcı şifreleri /etc/shadow dosyasında yer alır. Okumak, root yetkileri gerektirir.
  • Şifresinin bilinmesi halinde, shell’de root yetkileri geçici olarak devralınabilir.
  • root yetkilerine sahip sudo grubunun üyesi olunabilir. Yetki yükseltme gerektiğinde sudo komutu kullanılabilir.
  • Linux: ‘’Sudo is enough.’’

Lokal Kullanıcı Yönetimi Komutları

PAKET KURULUMLARI (PACKET INSTALLATIONS)

Paket ve Paket Yöneticileri

  • Paketler manuel ya da repository (repo) adındaki depolardan yüklenirler.
  • Debian’da manul paketler dpkg aracı ile; repo paketleri apt aracı ile yüklenirler.
  • CentOS’ta manuel paketler rpm aracı ile; repo paketleri yum aracı ile yüklenirler.
    • Debian’da repolar /etc/apt/sources.list dosyasında;
    • CentOS’ta repolar /etc/yum.repos.d dosyasındadır.
  • /etc/apt/sources.list

Paket Komutları

Araç / Yönetici Parametre Argüman İşlev
dpkg -l Sistemdeki paketleri listeler.
dpkg –get-selections Kurulu ve kaldırılmış programları listeler.
dpkg -s <programadı> Kurulan program hakkında bilgi verir.
dpkg -L <programadı> Kurulu programın paket içeriğini gösterir.
dpkg –info <paketadı.deb> Kurulacak program hakkında bilgi verir.
dpkg -c <paketadı.deb> Programın nereye kurulacağını gösterir.
dpkg -i <paketadı.deb> veya *.deb Pakedi yükler. * ile çoklu yükleme yapar.
dpkg -reconfigure <programadı> Kurulu programı onarır.
dpkg -P <programadı> Kurulu programı kaldırır.
apt-get install <programadı> Programın depodan (repodan) yükler.
apt-cache Show <programadı> Yüklenecek program hakkında bilgi verir.
apt-get remove <programadı> Kurulu programı kaldırır.
apt-get purge <programadı> Programı tüm dosyalarıyla kaldırır.

 

KAYNAK KOD KURULUMU (SOURCE CODE INSTALLATION)

Kaynak Kod Kurulum Komutları

  • Programlar, paketlerle kurulabildiği gibi kaynak kodlarıyla da kurulabilirler.
  • Bunun yapılabilmesi için DKMS (Dynamic Kernel Module Support) framework’ü kurulu olmalıdır.
  • Programın kaynak kodlarını indirip dizinine girilir ve aşağıdaki komutlar kullanılır.
KOMUT İŞLEV
./configure Kaynak kodu hakkında ayarlamalar içerir. Her zaman bulunmaz.
make Kaynak kodun makefile dosyasını arar ve yükleme işlemi için hazırlar.
make install Kaynak kodu yükler.
./<dosyadı>.sh Kaynak kodu yüklenmesini otomatikleştirir veya kurulumda opsiyonlar sunar.

 

SİSTEM GÜNCELLEME (SYSTEM UPDATE)

Sistem Güncelleme Komutları

  • Güncelleme işlemi gerekliliği, sistemdeki program versiyonlarının, depolardaki versiyonlar ile karşılaştırılmasıyla belirlenir. (apt-get update)
  • İndirilen update dosyaları için archive (arşiv); indirilen yere de cache (önbellek) adı verilir.
ARAÇ / YÖNETİCİ PARAMETRE İŞLEV
apt-get update Mevcut programlar ile depodakiler arasında versiyonları kıyaslar ve güncelleme için indeks yaratır.
apt-get upgrade Mevcut programların güncellenmesini sağlar.
apt-get dist-upgrade Bağımlılık problemlerini çözer ve kernel’ı günceller.
apt-get autoclean Cache’te olup, depoda artık bulunmayan paketleri kaldırır.
apt-get autoremove Kaldırılmış bir paketin bağımlılığı olarak yüklenen paketleri arar ve kaldırır.
apt-get clean Cache’teki tüm arşivleri kaldırır.