Pardus Paketçisinin chmod Kılavuzu

Paket yapımıyla uğraşıyorsanız ara sıra dosya izinleriyle oynamak zorunda kalabilirsiniz. chmod ne yazık ki pek aşina olduğum bir komut olmadığı için kullanmakta oldukça zorlanıyordum. Son yapmaya çalıştığım paketi bitirmeme bir chmod komutu kala eeeh eytere bea sınırını aştım ve Google'da konuyla ilgili araştırma yaparak yararlanabileceğim bilgileri derledim:

Erişim hakları, Linux dosya sistemi güvenliğinin bel kemiğini oluşturur. Her dosyaya ayrı ayrı verilebilen erişim izinleri sayesinde çok daha rahat bir sistem yönetimi gerçekleştirilebilir. Linux altında üç çeşit erişim hakkı vardır:

  • Okuma izni: dosyanın okuma izni varsa içeriği görülebilir, dizinin okuma izni varsa içerdiği dosyaların listesi alınabilir.
  • Yazma izni: dosyanın yazma izni varsa dosyayı değiştirebilir veya silebilirsiniz. Dizine yazma izni verildiğinde dizin altındaki dosyalar yazılabilir veya silinebilir.
  • Çalıştırma izni: dosyayı çalıştırma hakkını verir.

Erişim haklarının dışında bir dosyanın üç izin düzeyi daha vardır. Bunlar, dosyanın sahibi, dosyanın grubu ve diğer kullanıcılardır. Dosyanın sahibi, o dosyayı oluşturan kişidir. Her kullanıcının bir grubu da olduğu için, dosya oluşturulurken kullanıcı hangi grupta ise dosya da o gruba ait olacaktır. Dosyanın sahibi olmayan ve grubu da dosyanın grubuyla uyuşmayan sistemdeki kullanıcılar diğer sınıfına girerler.

Dosya izin bilgilerini görebilmek için ls komutu, -l parametresiyle kullanılabilir. Aşağıdaki dosya üzerindeki erişim haklarına göz atalım:

ls -l *.txt
-rw-r--r-- 1 maidis users 2 Ağu 22 22:50 test.txt

Dosya bilgisinin en sol kısmında izin hakları yer alır. En baştaki - işareti bunun düz dosya olduğunu belirtir (bu bir dizin olsaydı d olacaktı). maidis, dosyanın sahibi; users (kullanıcılar) ise grubudur.

Solda yer alan r,w ve x karakterleri sırayla okuma (read), yazma (write) ve çalıştırma (execute) haklarını belirtir. En soldaki - işaretini ayırdığımız zaman geri kalan harfleri üç adet üçlü grup haline getirebiliriz:



siz (you)
grup (group)
diğerleri (others)
rw-
r--
r--

Sırayla birinci harf kümesi dosya sahibinin izinlerini, ikinci harf kümesi grup izinleri ve son küme de diğer kullanıcıların izinlerini belirtir. Buna göre:

  • siz test.txt'yi okuyabilirsiniz, yazabilirsiniz, çalıştıramazsınız
  • dahil olduğu grup (örneğimiz için users) okuyabilir, yazamaz, çalıştıramaz
  • diğerleri okuyabilir, yazamaz, çalıştıramaz

Dosya ve dizin izinlerini değiştirmek için chmod komutu kullanılabilir. Bu komutu kullanırken hangi izin düzeyine (kullanıcı, grup veya diğerleri) hangi izinlerin verileceği veya kaldırılacağı yazılır.

Örneğin test.txt'nin okuma iznini kaldırmak için aşağıdaki komut kullanılabilir:

chmod -r test.txt

- işareti iznin kaldırılacağını belirtir. İzin vermek için ise + kullanılır. test.txt'nin yeni izinleri şu şekilde olur:

ls -l *.txt
--w------- 1 maidis users 2 Ağu 22 22:50 test.txt

Sadece grubun, sadece kullanıcının veya sadece diğerlerinin erişim hakkını değiştirebilmek için her izin düzeyi için bir harf tanımlanmıştır. Kullanıcı için "u", grup için "g" ve diğerleri için "o" yazarak belirli bir izin düzeyi için erişim hakkını değiştirmek mümkün olur. Bu üç harf, izinden hemen önce yazılır. Örneğin gruba test.txt'yi okuma izni vermek için:

chmod g+r test.txt

komutu kullanılabilir.

Her izin için aynı zamanda sayılar da tanımlanmıştır. Erişim izinlerini değiştirmek için her izne ait sayıları kullanabilirsiniz. Aşağıdaki tabloda izin düzeylerini sayılarla nasıl ifade edebileceğinizi görebilirsiniz:


ikilik taban onluk taban harf Türkçe karşılık
000 0 --- Okuyamaz, yazamaz, çalıştıramaz
001 1 --x Okuyamaz, yazamaz, çalıştırabilir
010 2 -w- Okuyamaz, yazabilir, çalıştıramaz
011 3 -wx Okuyamaz, yazabilir, çalıştırabilir
100 4 r-- Okuyabilir, yazamaz, çalıştıramaz
101 5 r-x Okuyabilir, yazamaz, çalıştırabilir
110 6 rw- Okuyabilir, yazabilir, çalıştıramaz
111 7 rwx Okuyabilir, yazabilir, çalıştırabilir
 


test.txt'ye tekrar göz atarsak bu sayıları nasıl kullanabileceğimizi daha rahat anlayabiliriz:

ls -l *.txt
--w-r----- 1 maidis users 2 Ağu 22 22:50 test.txt

Komutun çıktısını daha iyi anlayabilmek için şu şekilde tablolaştırabiliriz:



siz (you)
grup (group)
diğerleri (others)
-w-
r--
---
010
100
000

Kısacası bir paket yaparken dosyanın izinlerini verirken neyin ne olduğunu daha rahat anlayabilmek ve 40 kere deneme yapmak zorunda kalmamak için en başından kısaca bir göz atmak daha iyi olabilirmiş, bunu öğrendim.

Filmlerin sonunda bazen şöyle bir şey yaparlar: test.txt başından geçen onca olaydan sonra bir süre tedavi gördükten sonra tekrar bilgisayar ekranlarına dönerek hayranlarını sevindirdi.



Kaynaklar:
Erişim Hakları
chmod by the Numbers

Yorumlar

  1. Blogger ve Mozilla Firefox sanki kanlı bıçaklı ya, anlamadım neden bu kadar zor oluyor iki satır yazmak.

    YanıtlaSil
  2. Bu yazı alıntı (daha doğrusu kopyala yapıştır) yaptığım kaynağın telif haklarına sahiptir.

    YanıtlaSil
  3. hacı 4 tane yorum kim yazmış diye bakıyorum :D uykun mu geldi iyi misin? yazıya eklesene :D neyse güzel olmuş joomla uğraştırırdı zamanında chmod ayarlarıya o yüzden az tecrübeliyiz. pisi paketçisinin günlüğü isimli bir atölye yazı dizisi bekliyoruz senden. yaz ki öğrenelim biz de paketliyelim, ya da arkadaşlar paketlesin ben sonra bakarım.

    YanıtlaSil
  4. Yazıya eklemek mi Allah korusun. Blogger eziyet ediyor Mozilla Firefox'un bu sürümünde bana, kafayı yemeden çözümünü bulmam lazım. Ayrıca tabloları da güç bela düzelttim OOo Writer'dan kopyalayarak.

    Ayrıca gezegen etiketli yazılara sonradan müdahale etmek istemiyorum. Çünkü çoğu kişi yazıları RSS takipçilerinden okuyor ve yazıyı eğer hemen okuduysa tekrar görünüyor güncelleme yaparsam ve kullanıcıya zaman kaybettiriyor. Zaten çift posta sorunu var bir de bununla kullanıcıları sıkmak istemiyorum. Yani kendime yapılmamasını istediğim...

    chmod'un da bir şeyi yokmuş da, şu rakam kodlarına bakmam gerekiyordu, hazır bakmışken de şöyle bir şey yapayım dedim, belki kaynakta belirttiğim yazıdan haberi olmayanlar için fikir verici olur.

    Seri değil de wiki'deki yazılardan yararlanarak ve görsellerle allayıp pullayıp paketçi olup depolara akmak başlıklı ve / veya temalı bir yazı yazacağım / yazıyorum.

    YanıtlaSil
  5. Bloggerda kod yazmak için güzel uygulamalar var. google da arat biraz kodu bloggera uyarlıyor. bende aynı sorunu yaşardım bir zamanlar. böyle ayrı bir bölüm gibi kodu gösteriyor.

    YanıtlaSil

Yorum Gönder

sen de yaz yaz yaz buraya yaz bütün sözlerini

Bu blogdaki popüler yayınlar

Diğer Dillerde Hoşçakal

Mızıka Tabları Nasıl Okunur

conio.h