Türkçe Linux
  • 🏠Anasayfa
  • Başlangıç
    • Tarihçe
    • Bir Linux Dağıtımı Seçimi
    • Dağıtımları İnceleyelim
  • Komut Satırı
    • Kabuk (Shell)
    • pwd (Print Working Directory)
    • cd (Change Directory)
    • ls (List Directories)
    • touch
    • file
    • cat
    • less
    • history
    • cp (Copy)
    • mv (Move)
    • mkdir (Make Directory)
    • rm (Remove)
    • find
    • help
    • man
    • whatis
    • alias
    • exit
  • Metin Ustası
    • stdout (Standard Out)
    • stdin (Standard In)
    • stderr (Standard Error)
    • pipe ve tee
    • env (Environment)
    • cut
    • paste
    • head
    • tail
    • expand ve unexpand
    • join ve split
    • sort
    • tr (Translate)
    • uniq (Unique)
    • wc ve nl
    • grep
  • Gelişmiş Metin Ustası
    • regex (Regular Expressions)
    • Metin Editörleri
    • Vim (Vi Improved)
    • Vim Arama Kalıpları
    • Vim Navigasyon
    • Vim Metin Ekleme
    • Vim Düzenleme
    • Vim Kaydetme ve Çıkma
    • Emacs
    • Emacs Dosyaları Manipüle Etme
    • Emacs Buffer Navigasyonu
    • Emacs Düzenleme
    • Emacs'tan Çıkma ve Yardım
  • Kullanıcı Yönetimi
    • Kullanıcılar ve Gruplar
    • Root
    • /etc/passwd
    • /etc/shadow
    • /etc/group
    • Kullanıcı Yönetim Araçları
  • İzinler
    • Dosya İzinleri
    • İzinlerin Değiştirilmesi
    • Sahiplik İzinleri
    • Umask
    • Setuid
    • Setgid
    • İşlem İzinleri
    • Sticky Bit
  • Processes
    • ps (Processes)
    • Kontrol Terminali
    • Process Detayları
    • Process Yaratma
    • Process Sonlandırma
    • Sinyaller
    • kill (Sonlandırma)
    • niceness
    • Process States
    • /proc filesystem
    • İş Kontrolü
  • Paketler
    • Yazılım Dağıtımı
    • Paket Repositories
    • tar ve gzip
    • Paket Bağımlılıkları
    • rpm ve dpkg
    • yum ve apt
    • Kaynak Kodunu Derleme
Powered by GitBook
On this page
  1. İzinler

İşlem İzinleri

Size daha önce SUID izin biti etkinleştirilmiş passwd komutunu çalıştırdığınızda programı root olarak çalıştıracağınızı söylemiştim, değil mi? Bu doğru, ancak siz geçici olarak root olduğunuz için diğer kullanıcıların şifrelerini değiştirebileceğiniz anlamına mı geliyor? Neyse ki hayır!

Bu, Linux'un uyguladığı birçok UID nedeniyledir. Her işlemle ilişkili üç UID vardır:

Bir işlemi başlattığınızda, onu çalıştıran kullanıcı veya grubun izinleriyle aynı izinlerle çalışır, bu etkin kullanıcı kimliği (effective user ID) olarak bilinir. Bu UID, bir işleme erişim hakkı vermek için kullanılır. Bu nedenle, Bob touch komutunu çalıştırdıysa, işlem onun kimliğiyle çalışır ve oluşturduğu tüm dosyalar onun sahipliğinde olur.

Gerçek kullanıcı kimliği (real user ID) olarak adlandırılan başka bir UID vardır, bu, işlemi başlatan kullanıcının kimliğidir. Bunlar, işlemi başlatan kullanıcının kimliğini takip etmek için kullanılır.

Son bir UID ise **kayıtlı kullanıcı kimliği (saved user ID)**dir, bu bir işlemin etkin kullanıcı kimliği ile gerçek kullanıcı kimliği arasında geçiş yapmasına izin verir. Bu yararlıdır çünkü işlemimizin her zaman yüksek ayrıcalıklarla çalışmasını istemeyiz, yalnızca belirli zamanlarda özel ayrıcalıklar kullanmak iyi bir uygulamadır.

Şimdi bunların hepsini bir araya getirmek için passwd komutuna bir kez daha bakalım.

passwd komutunu çalıştırırken, etkin kullanıcı kimliğiniz sizin kullanıcı kimliğinizdir, şimdilik 500 olduğunu varsayalım. Ancak bir dakika bekleyin, passwd komutunun SUID izni etkinleştirilmişti, değil mi? Dolayısıyla siz çalıştırdığınızda, etkin kullanıcı kimliğiniz artık 0'dır (0, root'un UID'sidir). Artık bu program dosyalara root olarak erişebilir.

Diyelim ki biraz güç zevki aldınız ve Sally'nin şifresini değiştirmek istiyorsunuz, Sally'nin UID'si 600. Neyse ki şansınız yok, çünkü işlem aynı zamanda sizin gerçek kullanıcı kimliğinize de sahip, bu durumda 500. İşlem sizin UID'nizin 500 olduğunu biliyor ve bu nedenle 600 UID'li kullanıcının şifresini değiştiremezsiniz. (Tabii ki, bir bilgisayarda süper kullanıcıysanız ve her şeyi kontrol edip değiştirebiliyorsanız, bu her zaman atlanır).

passwd'ı çalıştırdığınızdan beri, işlemi gerçek kullanıcı kimliğinizi kullanarak başlatacak ve dosyanın sahibinin UID'sini (etkin kullanıcı kimliği) kaydedecektir, böylece ikisi arasında geçiş yapabilirsiniz. Gerekli değilse tüm dosyaları root erişimiyle değiştirmeye gerek yok.

Çoğu zaman gerçek kullanıcı kimliği ve etkin kullanıcı kimliği aynıdır, ancak passwd komutu gibi durumlarda değişirler.

PreviousSetgidNextSticky Bit

Last updated 1 year ago