Mini Bilgisayar Nedir ?

Mini bilgisayarlar ile ilgili bilgiler...

Orange Pi Nedir ?

Orange Pi ve kullanım alanları...

Orange Pi Dökümanlar

Orange Pi kullanım dökümanları...

ORANGE PI LINUX DOSYA İZİNLERİ - CHMOD

Chmod komutunu dosya ve dizin izinlerini değiştirmek için kullanırız. Linux ve diğer Unix işletim sistemlerinde her bir dosyanın, o dosyaya kimlerim ve nasıl erişebileceğini tanımlayan bir dizi kural vardır. Bu kurallara dayanarak izinleri "change mod" kelimelerinden türetilen chmod komutu ile ayarlarız.


Kullanım: chmod [izinler] [dosya_adi]
Bir dizindeki tüm dosların izinlerini düzenlemek için: chmod -R [izinler] [dizin_adi/]


Chmod komutunu kullanmadan önce dosya erişimi ile alakalı birkaç konuyu bilmeliyiz.


Genel olarak 3 tür kullanıcı sınıfı vardır. Ekstra olarak tüm kullanıcılar için "all" tanımlamasını kullanıyoruz.


Dosyanın sahibi olan kullanıcılar : user - u

Dosyanın tanımlı sahip grubu : group - g

Geri kalan herkes : other - o

Tüm kullanıcılar için : all - a

Daha sonra bu kullanıcı türlerinden her birinin dosya ve dizinine 3 farklı erişim vardır.


Read : Dosya içeriğine bakma. -r


Write : Dosya içeriğini değiştirme. -w


Execute : Dosyayı çalıştırma. -x


Bu izinlerin bir dosyaya eklenmesi gerektiğini bildirken "+", "-" ve "=" sembollerini kullanırız. Bunu örneklerle açıklıyayım.


"+" : Belirtilen dosya sınıfları için belirtilen dosya izinlerinin etkinleştirilmesini sağlar. "u+x" demek, "user" kullanıcısı için diğer izinlere dokunmadan "execute" iznini etkinleştirmek demektir.


"-" : Belirtilen dosya sınıfları için belirtilen dosya izinlerinin devre dışı bırakılmasını sağlar. "u-x" demek, "user" kullanıcısı için diğer izinlere dokunmadan "execute" iznini devre dışı bırakmak demektir.


"=" : Burada belirtilen kullanıcı için belirtilen izni etkinleştirir ve diğer izinleri devre dışı bırakır. "u=x" demek "user" kullanıcısı için "execute" iznini etkinleştirir ve diğer izinler devre dışı bırakır demek.


Toplam 3 adet dosya izni vardı; yazma(w), okuma(r) ve çalıştırma(x). Bunları gösterirken 2 farklı şekilde gösterebiliriz.



Alfanümerik Karakterlele Gösterim

İlki izinleri "harf" şeklinde gösterebiliriz ve bir kullanıcı iznini değiştirirken işlemi aşağıdaki gibi yaparız.


chmod a+rwx : Tüm kullanıcıların tüm izinlerini aktifleştirir.



chmod a+rx : Tüm kullanıcıların diğer izinlerine dokunmadan sadece yazma ve okuma iznini etkinleştirir.



chmod u-x : User kullanıcısının diğer izinlere dokunmadan sadece çalıştırma(x) iznini devre dışı bırakır.



chmod o=r : Diğer(other) kullanıcısının okuma(r) iznini etkinleştirir, yazma(w) ve çalıştırma(x) iznini devre dışı bırakır.




Sekizlik Tabandaki Sayılarla Gösterim

Burada r=4, w=2 ve x=1 değerine denk gelir ve izin atarken bu değerler kullanılır. Burada izinler 3 haneli olarak olarak belirtilir. Soldan sağa bu basamaklar; user, group ve other kullanıcısı için izinleri belirtirler.


Bir kullanıcı için tüm izileri belirtmek için "4+2+1=7"yi kullanırız. Yukarıdaki örnekleri bir de bu şekilde gösterelim.


chmod +777 : Tüm kullanıcıların tüm izinlerini aktifleştirir.



chmod +555 : Tüm kullanıcıların diğer izinlerine dokunmadan sadece yazma ve okuma iznini etkinleştirir.



chmod -100 : User kullanıcısının diğer izinlere dokunmadan sadece çalıştırma(x) iznini devre dışı bırakır. Group ve other kullanıcıların izilerinde değişiklik yapma.



chmod =004/ chmod 004 : Diğer(other) kullanıcısının okuma(r) iznini etkinleştirir, yazma(w) ve çalıştırma(x) iznini devre dışı bırakır. Other ve group kullanıcılarının da tüm izinlerini devre dışı bırakır..



Linux'da varsayılan izinler bir dosya için "666", bir dizin için ise "777"dir. Örneğin "touch dosya_adı" diyerek bir dosya oluşturalım. Bu dosyanın izinlerine baktığımızda tüm kullanıcılar için yazma(4) ve okuma(2) izninin olduğunu görürsünüz. Fakat siz dosyanızda tüm kullanıcıların yazma, okuma ve çalıştırma izninin olmasını istemiyorsunuz. Bu durumda umask komutu bize yardımcı oluyor. Umask komutunun değeri kadar bizim varsayılan izinlerimiz maskeleniyor. Umask varsayılan değeri genelde "0002"dir. Burada bu değerin soldan ilk hanesini dikkate almıyoruz. Diğer üç hane soldan sağa "user", "group" ve "others" için maskelenecek izinleri belirtiyor. Sonuç olarka umask'ın "0002" olması, varsayılan değer olan "666"nın maskelenerek "664" olması demek oluyor. Bunu alfanümerik karaterlerle gösterecek olursak "rw-rw-r--" oluyor.


Umask değerini umask [deger] komutu ile değiştirebiliyoruz. Örneğin; "umask 0022" komutu varsayılan izin değerini "622" yapabiliriz. Varsayılan izin bir dizin için "777" demiştik. Aynı şekilde umask, dizin için varsayılan olan izinleri de maskeler. Yani "0022" değerine eşit olan bir umask, dizin için varsayılan değeri "755" yapar.



Burada şöyle bir hatırlatma yapmam gerekiyor. Bulunduğumuz dizin Orange pi'yi ilk kez çalıştırdığımda oluşturduğum "orangepi" adlı kullanıcı dizini. Burada "touch file1" komutu ile bir dosya oluşturduğumda bu dosyanın kullanıcısı "orangepi", grubu da aynı şekilde "orangepi" oluyor. Fakat "sudo touch file1" komutu ile bir dosya oluşturduğumda, doğal olarak bu dosyanın kullanıcı ve grubu "root" oluyor. Root, kök kullanıcı olduğundan sadece diğer kullanıcılara sadece okuma izni veriliyor. Eğer bu dosyada değişiklik yapmak istiyorsanız, dosyayı açarken komutun başına "sudo" yazarak açmalısınız.




Örnekler

Hiç bir izni olmayan "file1", "file2", "file3" dosyaları ile birkaç örnek yapalım.


chmod +x file1 : "file1" dosyası için tüm kullanıcılara çalıştırma izni verecek. Diğer izinlere dokunmayacak.



chmod 656 file2 : "file2" dosyası için "user" kullanıcısının okuma(read-4) ve yazma(write-2) izinlerini etkinleştirecek, çalıştırma(execute-1) izinini devre dışı bırakacak. Aynı şekilde bu işlemleri "other" kullanıcısını için de yapacak. "group" kullanıcısı için ise okuma(read-4) ve çalıştırma(execute-1) izinini etkinleştirip, yazma(write-2) izninin ise devre dışı bırakacaktır.



chmod u+rx file3 : "file3" dosyası için user kullanıcısına okuma(r) ve çalıştırma(x) izni verecek, diğer izinlere bir etki etmeyecektir.



chmod -142 file2 :Böyle bir kullanım yaygın olarak kullanılmaz. Genelde sayı şekli toplu bir izin verme işlemini için kullanırız. Bir özelliği etkinleştirmek için ise genelde alfanümerik karakterleri kullanırız. Fakat böyle bir kullanımında mümnkün olduğunu göstermek için böyle bir örnek yapalım.

Burada "-/+" işareti kullanarak sadece ilgili izinlere bir ekleme veya çıkarma yapabiliyoruz. Diğer izinlere dokunmuyoruz. "-142", "user" kullanıcısı için eğer aktifse çalıştırma(execute) izinini devre dışı bırakacak, "group" kullanıcısı için okuma(read) iznini devre dışı bırakacak ve son olarak da "others" kullanıcısı için yazma(write) iznini devre dışı bırakcak.




Son Olarak Bilmemiz Gerekenler

ls-l komutu ile dosyaları izin durumları ile birlikte listeliyorduk ve her bir satırı
"-rw---xr-- 1 orangepi orangepi 0 May 15 12:03 file2" şeklinde gözüküyordu.

Burada ilk baştaki kısımdaki işaret, file2'nin dosya mı dizin mi olduğunu gösterir. "file2" dosya ise "-", dizin ise "d" olur.

Daha sonraki kısımlar sırayla "user", "group" ve "other" kullanıcıları için "rwx(okuma, yazma, çalıştırma)" izinleridir. Aktif izinler, "alfanümerik karakterle" gösterilir, aktif olmayan izinler ise "-" işareti ile gösterilir.

Daha sonraki "1" ise bağlantı sayısını gösterir. Yani dizin sayısından bahsediyor. Eğer ki bir dosya ise burası hep "1" olur. Fakat dizinde burası, belirtilen dizin dahil kaç iç içe dizine sahip olduğunu gösterir.

Bir sonraki kısımda olan "orangepi orangepi" ise sırayla kullanıcı ve kullanıcının bulunduğu grubu gösterir.

Bir sonraki kısımdaki değer, burada "0", dosyanın boyutunu gösterir.

Sonraki kısımda ise "son değiştirilme tarihi" vardır.

Son olarak da dosya ismi yer alır.



Okuduğunuz için teşekkür ederim. Aklınıza takılan bir soru veya karşılaştığınız bir sorun olduğunda bize bildirin. Burada eksik olarak anlattığımı düşündüğünüz bilgileri de bize bildirirseniz, bu yönde bilgileri güncel ve eksiksiz tutarak okuyuculara daha iyi bir bilgi ortamı hazırlayabiliriz. Herkese iyi çalışmalar.

OrangePi.com.tr

Bilgilendirme !

Orange Pi ürünleri için yazılı ve görsel dökümanlar hazırlanmaktadır. Tamamlanan dökümanlara "Dökümanlar" sayfasından ulaşabilirsiniz.