Dosya Türleri ve İzinleri: Linux Dosya Yönetiminin Temelleri

Dosya Türleri ve İzinleri: Linux Dosya Yönetiminin Temelleri

İçindekiler

Linux işletim sistemi, dosyaları ve dizinleri düzenlerken her birine özgü izinler ve türler kullanır. Bu, kullanıcıların verilere erişimini düzenlemek ve güvenliği sağlamak için önemlidir. Bu makalede, Linux’ta dosya türleri ve izinlerinin nasıl çalıştığını ve bunları nasıl yönetebileceğinizi öğreneceksiniz.

Dosya Türleri:

  1. Normal Dosyalar (Regular Files): Genellikle metin dosyaları, betikler, resimler ve diğer veri türlerini içerirler. İçerikleri metin veya ikili olabilir.
  2. Dizinler (Directories): Diğer dosyaları ve dizinleri içeren özel dosyalardır. İçerikleri, içerdikleri dosya ve dizinlerin listesi ile ilişkilidir.
  3. Sembolik Bağlantılar (Symbolic Links): Başka dosya veya dizinlere olan referansları temsil ederler. Semantik olarak farklıdırlar ve bağlandıkları hedefi gösterirler.

İzinler ve chmod, chown, chgrp

  • chmod (Change Mode): Dosya veya dizinlerin izinlerini değiştirmek için kullanılır. İzinler üç grupta gelir: kullanıcı (owner), grup (group) ve diğer (others). chmod komutuyla bu izinler, okuma (read), yazma (write) ve çalıştırma (execute) olarak ayarlanabilir.
  • chown (Change Owner): Dosya veya dizinin sahibini değiştirmek için kullanılır. Bu komutla dosyanın sahibi ve grup sahibi değiştirilebilir. Chown komutu için solda ki kısım sahiplik, sağda ki taraf gruptur. Bu komutla isterseniz hem grup hem sahipliği değiştirebilirsiniz. Sadece bir tarafı değiştirmek için ‘:’ kısmın diğer tarafı boş bırakabilirsiniz. Sol kısım sahiplik : Sağ kısım grup temsil eder.
    chown sahip:grup dosya/dizin
  • chgrp (Change Group): Dosya veya dizinin grubunu değiştirmek için kullanılır. Dosya veya dizinin ait olduğu grup değiştirilebilir.
    chgrp grup-ismi dosya/dizin

Eğer bir dizinin ve aynı zamanda dizinin içinde ki dosyalarında bu değişiklikten etkilenmesini istiyorsanız ‘-R’ parametresini eklemeniz gerekir.
chown -R sahip:grup dizin

Linux dosya izinleri (rwx) şeması

Dosya İzinleri:

Linux dosya izinleri üç kategoriye ayrılır:

  1. Kullanıcı (Owner): Dosyanın veya dizinin sahibi. Genellikle dosyayı oluşturan kullanıcıdır.
  2. Grup (Group): Dosyanın veya dizinin ait olduğu grup. Birden fazla kullanıcı aynı grupta olabilir.
  3. Diğerleri (Others): Dosyanın veya dizinin sahibi veya gruptaki kullanıcılar dışındaki herkes.

Her bir kategori için izinler aşağıdaki şekillerde tanımlanır:

  • Okuma (Read - r): Dosyanın içeriğini okuma izni.
  • Yazma (Write - w): Dosyaya veri yazma veya değiştirme izni.
  • Çalıştırma (Execute - x): İçeriği çalıştırma izni (eğer bir betik dosyası ise).

chmod Octal Mode

Elde edilen bu binary değeri, octal’a çevirirsek karşımıza şöyle bir tablo çıkıyor, Dosya izinleri ve sayısal temsilleri hakkında daha fazla ayrıntı vermek gerekirse:

Octal değer String İznin anlamı
0 Hiçbir izin yok
1 –x Çalıştırma
2 -w- Yazma
3 -wx Yazma & çalıştırma
4 r– Okuma
5 r-x Okuma & çalıştırma
6 rw- Okuma & yazma
7 rwx Okuma & yazma & çalıştırma

Bunları ister sayısal ister harfler ile verebilirsiniz eğer çok karışık geliyorsa. Hesaplamak için kullandığım ‘chmodcommand’ web sitesini önerebilirim.

Linux Dosya İzinleri: Setuid, Setgid ve Sticky Bit Nedir ve Nasıl Çalışır?

Linux işletim sistemi, dosya ve dizinlerin güvenliğini sağlamak için temel izinlerin ötesine geçen daha özel izinler sunar. Bu özel izinler, Setuid (set user ID), Setgid (set group ID) ve Sticky Bit olarak adlandırılır. Bu makalede, bu özel izinlerin ne olduğunu, nasıl çalıştığını ve neden önemli olduklarını öğreneceksiniz.

Setuid (Set User ID):

  • Ne İşe Yarar? Setuid, bir kullanıcının dosyayı çalıştırdığında o dosyanın sahibi olarak kabul edilmesini sağlar. Bu, kullanıcının normalde erişim hakkı olmayan sistem kaynaklarına erişmesine izin verebilir.

  • Nasıl Ayarlanır? Dosyanın sahibi, Setuid izni ayarlandığında dosyanın çalıştırıla bilirliğini açar Komut: chmod u+s dosya_adı,
    büyük harf “S” kullanarak: chmod u+S dosya_adı

  • Örnek Kullanım: Genellikle “passwd” komutu Setuid özelliğine sahiptir, böylece kullanıcılar kendi şifrelerini değiştirebilirler.

    Buraya bir açıklama getiriyim daha iyi anlayacağınızı düşünüyorum. passwd dosyasının sahipliği root kullanıcısına ait yani ben bu dosyayı kendi kullanıcı izinlerimle değiştiremem, kullanamam. Peki ben kendi kullanıcı parolamı nasıl değiştirebilirim. Burada işte bu dosya izini geliyor ben root yetkisi ile kendi parolamı değiştiriyorum.

Setgid (Set Group ID):

  • Ne İşe Yarar? Setgid, bir kullanıcının dosyayı çalıştırdığında dosyanın ait olduğu grubu kullanmasını sağlar. Bu, grup tabanlı işbirliği gerektiren dosyalarda kullanışlıdır.
  • Nasıl Ayarlanır? Dosyanın grubu, Setgid izni ayarlandığında dosyanın çalıştırılabilirliğini açar. Komut: chmod g+s dosya_adı
  • Örnek Kullanım: “passwd” komutunun /etc/shadow dosyasına erişimi, Setgid ile yapılandırılmış bir grup olan “shadow” tarafından denetlenir.

Sticky Bit:

  • Ne İşe Yarar? Sticky Bit, bir dizin içindeki dosyaların yalnızca dosyanın sahibi veya yönetici tarafından silinebileceği bir klasörde kullanılır. Genellikle /tmp dizininde kullanılır.
  • Nasıl Ayarlanır? Dizin içinde Sticky Bit’i ayarlamak için komut: chmod +t dizin_adı
  • Örnek Kullanım: /tmp dizini, kullanıcıların kendi dosyalarını oluşturmasına izin verirken, sadece kendi dosyalarını silebilmelerini sağlar.

Bu özel izinler, dosya ve dizin güvenliğini daha fazla kontrol etmek ve özellikle çok kullanıcılı sistemlerde yetkilendirme sorunlarını çözmek için kullanışlıdır. Bununla birlikte, bu izinleri dikkatli bir şekilde ayarlamak ve gereksiz kullanımlarından kaçınmak önemlidir, çünkü yanlış yapılandırılmış izinler güvenlik açıklarına yol açabilir.

İzin Türü Sembolik İfadesi Rakamsal Değeri
Setuid u+s 4
Setgid g+s 2
Sticky Bit +t 1
Paylaş :

İlgili Yazılar

Symbolic Link ve Hard Link

Symbolic Link ve Hard Link

İşletim sistemlerinde dosyaları düzenlemek ve yönetmek, veri organizasyonunun temel bir parçasıdır. GNU/Linux dünyasında, dosyaları bağlamak için kullanılan iki önemli kavram Symbolic Link (Sembolik Bağlantı) ve Hard Link (Sert Bağlantı) olarak karşımıza çıkar. Bu yazıda, Symbolic Link ve Hard Link kavramlarını ayrıntılı bir şekilde inceleyecek ve her iki bağlantı türünün nasıl çalıştığını ve farklılıklarını örneklerle anlatacağız.

GNU/Linux Öğrenme Yolculuğu

GNU/Linux Öğrenme Yolculuğu

Eğer imkanlarınız dahilindeyse “Mustafa Akgül Özgür Yazılım Yaz Kampı” ziyaret ederek tamamen gönüllülerden oluşan ücretsiz eğitim kampını ziyaret edebilir ve yüz yüze bir eğitim alabilirsiniz. Sadece Linux için de değil bir çok alanda kurslar da var. Beni bu alanda bir kariyer edinmemi sağlayan kursa ve eğitmenlerime teşekkürü borç bilirim.

Active Directory Nedir ve Neden Gereklidir?

Active Directory Nedir ve Neden Gereklidir?

Günümüzün teknoloji odaklı dünyasında, işletmeler ve organizasyonlar karmaşık bilgi teknolojisi altyapılarına sahiptir. Bu altyapıların yönetimi ve verimliliği, Active Directory gibi kritik bir bileşenle kolaylaştırılır. Active Directory (AD), Microsoft tarafından geliştirilen ve büyük ve küçük organizasyonların kullanımına sunulan bir dizin hizmetidir. Bu yazıda, Active Directory’nin ne olduğunu ve neden gerekliliklerini ele alacağız.