« Önceki | Sonraki »

31/10/2007

Linux'ta Yetkiler (man chmod)

chmod - Dosya ve dizinlere erişim yetkilerini değiştirmek için kullanılır.İzin modlarını iki türlü ifade etme olanağı vardır. Bunlardan birincisi sekizlik sisteme (octal) göre tanımlama, ikincisi ise sembolik tanımlama şeklindedir. Sekizlik sisteme göre:


chmod [-R][-h][-f] izin kodu {dosya...|dizin...}


Yetki tanım grupları aşağıdaki gibi sayısal birer değerle eşleştirilir:


 r    :  4
 w   :  2
 x   :   1

Bu eşleştirmeler dosya/dizin sahibi (owner),grup ve diğerleri (others) için ayrı ayrı yapılır.



Sembolik Tanımlama:

chmod [-R][-f][-h][[u][g][o][a]]{{-|+|=}[r][w][x][s]} {dosya...|dizin...}


Bu formda chmod komutu sembolik harflerle kullanılır.Bunlar:



İzin değişiminin kiminle ilgili olduğu:

u: dosya/dizinin sahibi (user)

g: dosya/dizinin sahibiyle aynı grupta olanlar (group)

o: diğer kullanıcılar (others)

a: herkes (all)



İzinler üzerindeki işlemler için:

+: yetki ekleme

=: yetki eşitleme

-: yetki çıkarma


İzinlerin sembolleri:

r: okuma yetkisi (read)

w: yazma yetkisi (write)

x: çalıştırma yetkisi (execute)

s: programı çalıştıran kullanıcıların,progam çalıştığı

sürece ve sadece bu programla ilgili komutlar açısından,

program dosyasının sahibinin yetkilerine sahip olmalarını

sağlar.


Seçenekler


-f

Geçersiz izinler ve kullanım cümleleri dışında bütün hata

mesajlarını ihmal eder.




-h

Sembolik link tarafından gösterilen dosya veya dizinler

için mod değişimini ihmal eder.


-R

Tekrarlı olarak dizinlere iner.-R seçeneği her bir dizinin

ve belirlenmiş bir şablona uyan bütün dosyaların dosya modu

bitlerini değiştirir.



Örnekler



Örnek1:


“prog” isimli dosyanın erişim yetkilerinin rwxr-x—x olması isteniyor.Bu yetki kalıbı üçer üçer ayrılmış olarak düşünülüp (rwx r-x--x),yukardaki eşleştirmelere göre verilmek istenen yetkilere karşılık gelen sayılar üçer üçer toplanır ve elde edilen üç rakam yan yana

getirilip üç basamaklı bir sayı elde edilir.


Başka bir deyişle:


Dosya sahibi için: 4+2+1 =7

Grup için: 4+0+1 =5

Diğer kullanıcılar için: 0+0+1 =1


Elde edilen üç basamaklı sayı =751




Örnek2:

prog isimli dosyanın sahibine okuma,yazma ve çalıştırma; grubuna ve diğerlerine de yalnızca

çalıştırma yetkisi vermek için yazılması gereken kod.


$chmod 711 prog

veya

$chmod go-rw prog




Örnek3:

func.txt isimli dizinin altındaki f1.dat isimli dosyanın sahibine ve grubuna okuma,yazma,çalıştırma;

diğerlerine de okuma ve çalıştırma hakkı vermek için yazılması gereken komut satırı:


$chmod 775 func.txt/f1.dat

veya

$chmod o-w func.txt/f1.dat






Örnek4:

Birden çok dosyada değişiklik yapmak için; Örnek olarak pro1 ve pro2 isimli dosyaların gruplarına

okuma(read) izni verelim.

$chmod g+r pro1 pro2




Örnek5:

Bir defada birden çok izin değiştirmek için:



$chmod go-w+x deneme.htm


Bunu ayrı ayrı yazmak istersek:


$chmod g-w deneme.htm

$chmod g+x deneme.htm

$chmod o-w deneme.htm

$chmod o+x deneme.htm


kodlarını yazmamız gerekir.



kaynak : http://wiki.linux-sevenler.org/index.php/MAN_chmod

EkleBunu Sosyal Paylaşım Butonu


Yorum yaz! :: Arkadaşına Gönder!

1 yorum yazılmıştır

  1. Yazan: Heartsmagic | Tarih: 2007-10-31 21:33:13
    Konu: Devam..
    Oytun, bakıyorum gün geçtikçe kendini geliştiriyor, geliştirdikçe de paylaşıyorsun. Bunların ikisi de iki güzel haslettir, canı gönülden devamını diliyorum.

    Bağlantı »