Temel Linux Dersleri – 5 Dosya izinleri

Merhaba, bu yazıda linux üzerinde dosya izin işlemlerine bakacağız. Bir önceki yazıda kullanıcı ve gruplara bakmıştık bu yazıya geçmeden önce mutlaka göz atmanızı tavsiye ederiz,

 

Dosya kullanıcı ve grup izinleri :

Daha önceki derslerde öğrendiğimiz gibi dosyaların belirli kullanıcıları ve grupları olduğunu öğrenmiştik. Bu kullanıcı ve grupların dosyalar veya dizinler üzerinde işlem yapabilmeleri için belirli izinlere ihtiyacı vardır.

Örneğin bir txt dosyamızın içinde önemli birkaç şifre olduğunu varsayalım. İşletim sistemimizde 100 kullanıcı tanımlı ve biz bu txt dosyasını sadece belirli kullanıcılar için okunabilir kılmak istediğimizde, dosya izinleri konusunu bilmemiz gerekiyor.

Kısaca resim üzerinden bir göz atalım.

Sol tarafta görülen rwx yazılı alanlar bizim için dosyanın izinlerini ifade ediyor. Ancak bir dosyanın sahibi, grubu ve diğer kullanıcıları için ayrı ayrı izinleri bulunuyor. Buz izinler tüm işletim sisteminde 3 kategoride; okuma-yazma-çalıştırma.

Şimdi daha detaylı incelemeye başlayalım.

İzinler :

İşletim sistemimizdeki dosya ve dizinler için 3 temel izin vardır(acces Control list konusu hariç). Bunlar, okuma-yazma-çalıştırma izinleri.

Yukarıda bahsettiğimiz bir dosyanın sahibi,grubu ve diğer kullanıcısı olduğu için bu izinler 3’erli gruplar halinde bulunur. Yani dosyanın sahibinin dosyayı okuma hakkı varken, dosyanın bağlı olduğu grubun okuma hakkı olmayabilir.

Bu izinler 3 farklı grup şeklindedir demiştik şematize edicek olursak,

  • rwx-rwx-rwx

İlk 3’lü dosyanın sahibine ait izinler, ikinci 3’lü dosyanın bağlı olduğu gruba ait, sen 3’lü ise diğer kullanıcılara ait izinler

 

R – (Read) : Dosyayı okuma iznidir, bu izne sahip olmayan kullanıcı(lar) veya grup dosyadan veri okuyamaz!

W – (Write) : Dosyaya yazma veya değiştirme iznidir, bu izne sahip olan kullanıcı(lar) veya grup dosyayı değiştirme hakkına sahip olur

X – (Execute) : Dosyayı çalıştırma iznidir, bu  izne sahip olan kullanıcı(lar) veya grup dosyayı çalıştırma yetkisine sahiptir.

 

İzin değerleri :

Yukarıda r-w-x harflerinin kullanıcı ve gruplar için ne anlam ifade ettiklerini gördük. Dosyanın veya dizinin yetkilerini değiştirirken r-w-x harflerini kullanacağımız gibi bu harflere karşılık gelen değerler de vardır. Şimdi bu değerlere bakalım.

 

Read – (1) : Bu izin değerine karşılık gelen rakamsal değer 1 dir. Biraz sonra göreceğimiz izinleri değiştirme işlemlerinde eğer read yetkisi vermemiz gerekirse 1 değerini kullanacağız.

Write – (2) : Bu izin değerine karşılık gelen rakamsal değer 2 dir.

Execute – (3) : Bu izin değerine karşılık gelen rakamsal değer 4 dür.

 

Dosya Haklarını Değiştirme :

Dosyanın izin haklarını değiştirmek için kullanacağımız komut chmod 

Bu komut birden fazla parametre alabildiği için tüm parametrelerini ezbere bilmek zorunda değiliz. İlk derslerde öğrendiğimiz komut satırında yardım alma konusundan hatırlayacağımız şekilde terminal üzerinden bu komut için yardım alabiliriz.

chmod komutundan sonra izin değerlerimizi 3 basamaklı olarak girmemiz gerekiyor.

Örneğin dosyanın sahibinin tüm haklara eşit olmasını istiyorsak (rwx),az önce öğrendiğimiz sayısal değerlerin toplamını vermemiz gerekiyor bu durumda ilk hanemiz 7

dosyanın grubunun sadece okuma hakkının olmasını istersek, bu durumda sayısal değerimiz 1,

diğer kullanıcıların sadece çalıştırma izinleri olsun istiyorsak, vereceğimiz rakam 4.

Bu durumda komut şu hale geliyor

chmod 714 dosyaismi.

Resimde görüldüğü gibi Music klasörü için ilk izin hakları ve sonraki izin hakları görülmekte.

En sağda ile ifade edilen directory(dizin)’nin kısaltmasıdır. Ondan sonra gelen 3’lü harflerin ne olduğunu görmüştük.

Bir diğer değiştirme yöntemide dosyaya harf ile erişim hakkı vermektir.

chmod komutundan sonra x-r-w gibi bir komut vererek bunu gerçekleştirebiliriz. Hemen bir örnek ile anlamaya çalışalım.

chmod +r Documents/

 

Görüldüğü gibi Documents klasörüne tüm kullanıcı ve bağlı olduğu grup için read yetkisini vermiş olduk.

Bu yazının sonuna geldik. Bir sonraki yazıda görüşmek üzere..

 

Deniz Parlak

Hi, I'm a Computer Engineering student in Dumlupınar University.I will graduate next year. I did an internship TurkNet Telecominication Company in 2018 June- 2018 September. I had experience Linux/Unix system, SQL Server Management , SSRS, Mysql Database Management,Troubleshooting performance issues in Linux. I also interested Oracle database and technologies. I want to work as Oracle DBA after my University. I am practicing Unix, Exadata, Orace Cloud, Oracle RAC, Dataguard, EBS, Oracle BI and etc and i hope the articles will be helpful. Any questions, or support please write email deniz.parlak@yahoo.com

Leave a Reply

Your email address will not be published. Required fields are marked *