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. |