Linux’ta Administrative Access ve Permissions

Linux, esnek ve güçlü bir işletim sistemidir. Ancak, sistemin güvenliği ve yönetimi için administrative access (yönetici erişimi) ve permissions (izinler) konularının iyi anlaşılması gerekir. Bu yazıda, Linux sisteminde yönetici erişimini nasıl sağlayacağınızı, dosya ve dizin izinlerini nasıl yöneteceğinizi ve en iyi uygulamaları detaylı bir şekilde ele alacağım.

Linux’ta Administrative Access (Yönetici Erişimi)

Root Kullanıcısı ve Yetkileri

Root, Linux sisteminde en yüksek ayrıcalıklara sahip olan kullanıcıdır. Root kullanıcısı şunları yapabilir:

  • Tüm dosya ve dizinlere erişim
  • Kullanıcı hesaplarını oluşturma, silme ve yönetme
  • Ağ yapılandırmalarını değiştirme
  • Paket ve yazılım yönetimi (yükleme, kaldırma, güncelleme)
  • Sistem servislerini başlatma/durdurma/yapılandırma

Root Kullanıcısı ile Oturum Açma

Normalde doğrudan root hesabı ile oturum açmak önerilmez, ancak erişmek için şu komut kullanılabilir:

su
image-12 Linux'ta Administrative Access ve Permissions

su komutu, geçici olarak farklı bir kullanıcı gibi davranmanıza olanak tanır. Bunu, yeni bir kabuk oluşturarak yapar. Kabuk, komut girmenize olanak tanıyan basit bir metin giriş konsoludur. Varsayılan olarak, eğer bir kullanıcı hesabı belirtilmezse, su komutu yeni bir kabuğu root kullanıcısı olarak açar ve bu da yönetici ayrıcalıkları sağlar. Ancak, root şifresini bilmeniz gerekir.

Sudo Komutu ile Yetkili Kullanım

Sudo (Superuser Do) komutu, belirli kullanıcıların geçici olarak root yetkileriyle komut çalıştırmasını sağlar. Sudo, güvenlik açısından root hesabına doğrudan erişmek yerine tercih edilir.

Bir komutu yönetici haklarıyla çalıştırmak için şu komutu kullanabilirsiniz:

sudo komut_adı

Örnek:

sudo apt update

Bu komut, paket listesini güncellemek için yönetici ayrıcalıklarıyla çalıştırılır.

Bir Kullanıcıya Sudo Yetkisi Vermek

Bir kullanıcıya sudo yetkisi vermek için:

usermod -aG sudo kullanıcı_adı

Örneğin:

usermod -aG sudo baris

Bunu yaptıktan sonra, kullanıcı yeniden oturum açarak sudo yetkilerine sahip olur.

Yetkili Kullanıcıları Görüntüleme

Bir kullanıcının sudo yetkisine sahip olup olmadığını kontrol etmek için:

sudo -l -U kullanıcı_adı

Sudo grubundaki kullanıcıları görmek için:

getent group sudo
image-13 Linux'ta Administrative Access ve Permissions

Sudo ve Root Kullanımı ile İlgili Güvenlik Önerileri

  • Root hesabını doğrudan kullanmaktan kaçının ve yerine sudo kullanın.
  • Gereksiz sudo yetkileri vermeyin, sadece gerekli kullanıcılara izin verin.
  • Sudo komutlarının kaydedildiğinden emin olun (/var/log/auth.log dosyasını inceleyebilirsiniz).
  • Parola istemini kapatmaktan kaçının, aksi takdirde sistemin güvenliği riske girebilir.

Linux’ta Dosya ve Dizin İzinleri (Permissions)

Linux sisteminde, her dosya ve dizin belirli izinlerle yönetilir. Dosya izinleri, kimin hangi işlemleri yapabileceğini belirler ve üç ana bileşene ayrılır:

  1. File Type Field (Dosya Türü Alanı)
  2. Permissions Field (İzinler Alanı)
  3. Permission Types (İzin Türleri)

1. File Type Field (Dosya Türü Alanı)

Linux’ta her dosyanın bir türü vardır. ls -l komutuyla bir dosyanın türünü görebilirsiniz.

ls -l
2-15 Linux'ta Administrative Access ve Permissions

Buradaki ilk karakter, dosya türünü belirtir:

  • – Normal dosya
  • d Dizin (Directory)
  • l Sembolik bağlantı (Symbolic Link)
  • b Blok aygıt dosyası (Block Device)
  • c Karakter aygıt dosyası (Character Device)
  • s Socket (Ağ bağlantıları için kullanılır)
  • p Pipe (FIFO)

Örneğin:

  • -rw-r--r-- → Normal dosya (-)
  • drwxr-xr-x → Dizin (d)
  • lrwxrwxrwx → Sembolik bağlantı (l)

2. Permissions Field (İzinler Alanı)

Linux’ta her dosya ve dizin için belirli izinler tanımlıdır. Bu izinler, kimin hangi işlemleri yapabileceğini belirler.

3-12 Linux'ta Administrative Access ve Permissions

Bu izinler şu şekilde ayrılır:

  • İlk Üçlü (Sahibi) – Owner
4-11 Linux'ta Administrative Access ve Permissions
  • İkinci Üçlü (Grubu) – Groups
5-9 Linux'ta Administrative Access ve Permissions
  • Üçüncü Üçlü (Diğerleri) – Others
6-8 Linux'ta Administrative Access ve Permissions

3. İzin Tipleri

İzinler üç gruba ayrılır:

KarakterlerAçıklama
r (4)Okuma (Read) – Dosyanın içeriğini görüntüleme
w (2)Yazma (Write) – Dosyanın içeriğini değiştirme
x (1)Çalıştırma (Execute) – Dosyayı çalıştırma veya dizini açma

Örneğin:

-rwxr-xr--
  • Sahibi (rwx) → Okuma (r), Yazma (w), Çalıştırma (x) = 4+2+1=7
  • Grubu (r-x) → Okuma (r), Çalıştırma (x) =4+1 =5
  • Diğerleri (r--) → Sadece Okuma (r) =4 =4

Bu izinlerin sayısal gösterimi: chmod 754 ile ayarlanabilir.

Linux’ta İzinleri Değiştirme

chmod ile İzinleri Değiştirme

Sayısal Yöntem:

Bu yöntemde izinler okuma (4), yazma (2), çalıştırma (1) olarak sayılarla ifade edilir.

Örneğin:

chmod 755 hello.sh
7-7 Linux'ta Administrative Access ve Permissions

Bazı Örnek Sayısal Değerler ve Anlamları:

Sayısal Kodİzinler
777rwxrwxrwx – Herkes tüm yetkilere sahip
755rwxr-xr-x – Sahip yazabilir, diğerleri sadece okuyabilir/çalıştırabilir
644rw-r--r-- – Sahip yazabilir, diğerleri sadece okuyabilir
600rw------- – Sadece sahip okuyabilir ve yazabilir

Harf Yöntemi:

Bu yöntemde izinler harflerle ifade edilir:

SembolAçıklama
uKullanıcı (owner)
gGrup (group)
oDiğerleri (others)
aHepsi (all)
+İzin ekleme
-İzin kaldırma
=Kesin izin belirleme

Örneğin:

chmod u+x myscript.sh   # Sahibe çalıştırma izni ekle
chmod g-w myfile.txt    # Gruptan yazma iznini kaldır
chmod o=r myfile.txt    # Diğerlerini sadece okuma olarak ayarla
chmod a+rx myfolder     # Herkese okuma ve çalıştırma izni ver

chown ve chgrp ile Sahiplik Değiştirme

Bazı durumlarda, dosyanın sahibini veya grubunu değiştirmek gerekebilir.

Dosya Sahibini Değiştirme (chown)

Bir dosyanın sahibini değiştirmek için:

chown yeni_sahip myfile.txt

Örneğin:

chown baris myfile.txt

Bu komut, myfile.txt dosyasının sahibini baris olarak değiştirir.

Eğer hem sahibi hem de grubunu değiştirmek isterseniz:

chown baris:developers myfile.txt

Bu komut, dosyanın sahibini baris, grubunu developers olarak değiştirir.

Dosya Grubunu Değiştirme (chgrp)

Eğer sadece grubu değiştirmek isterseniz:

chgrp developers myfile.txt

Bu komut, dosyanın grubunu developers olarak değiştirir.

Özel İzinler (Special Permissions)

Bazı durumlarda, normal izinlere ek olarak özel izinler de kullanılabilir:

İzinAçıklama
SUID (Set User ID)Kullanıcı, dosyanın sahibi gibi çalıştırabilir (chmod u+s).
SGID (Set Group ID)Çalıştırıldığında, grubun yetkileriyle çalışır (chmod g+s).
Sticky BitBir dizindeki dosyaları yalnızca sahibi silebilir (chmod +t).

Örnekler:

  • SUID ekleme:
chmod u+s program.sh
  • SGID ekleme:
chmod g+s myfolder
  • Sticky Bit ekleme (örneğin /tmp dizini gibi):
chmod +t /tmp

Sonuç

Linux’ta Administrative Access ve Permissions, sistem yönetimi ve güvenliği için temel taşlardır. Root yetkileri ve sudo kullanımı ile sistemin yönetimi sağlanırken, chmod, chown ve chgrp komutları ile dosya ve dizin izinleri düzenlenebilir. Güvenlik açısından root hesabını doğrudan kullanmamak, gereksiz sudo yetkisi vermemek ve dosya izinlerini dikkatle yönetmek önemlidir.

Share this content:

Merhabalar,ben Barış.Ağ ve sistem alanlarında kendimi geliştirmekteyim.Öğrenme sürecimde edindiğim tecrübeleri sizlerle paylaşarak fayda sağlamayı amaçlıyorum.

Yorum gönder