Linux İzinlerini ve chmod Kullanımını Anlama

Son birkaç aydır Linux üzerine bir kurs alıyorum ve Linux'un(Linux) her zaman kafamı karıştıran bir yönü izinlerin nasıl çalıştığıydı. Örneğin, bir kez web sunucuma bir dosya yüklerken ve bir hata aldığımda, web barındırıcım tarafından dosya izinlerini 755 olarak değiştirmem söylendi.

İzinleri değiştirmek sorunu çözmüş olsa da, bunun ne anlama geldiğine dair hiçbir fikrim yoktu. Artık Linux(Linux) izinlerinin o kadar karmaşık olmadığını fark ettim , sadece sistemi anlamanız gerekiyor. Bu yazıda, Linux(Linux) izinlerinden üst düzeyde bahsedeceğim ve dosya ve klasörlerin izinlerini değiştirmek için chmod komutunun nasıl kullanılacağını göstereceğim.

Linux İzinleri ve Seviyeleri

Linux'ta(Linux) normalde endişelenmeniz gereken temel olarak üç izin vardır: okuma, yazma ve yürütme . Bunların üçü de oldukça açıklayıcı. Artık bu izinler bir dosyaya uygulandığında düzeyler halinde uygulanır.

Linux'ta(Linux) üç izin düzeyi vardır : sahip, grup ve diğer. Sahip, dosyanın/klasörün sahibi olan kullanıcıdır, grup dosyanın grubundaki diğer kullanıcıları içerir ve diğer sadece sahip olmayan veya gruptaki diğer tüm kullanıcıları temsil eder.

Okuma(Read) , yazma ve yürütme, sembolik karakterler veya sekizli sayılar olarak temsil edilir. Örneğin, bazı dosyaların bulunduğu bir dizinde ls -l yaparsanız, izinlerin sembolik karakter gösterimini görürsünüz.

İzinler şu şekilde yazılır: ilk bit ya bir tire ya da d harfidir. Dash , bunun bir dosya olduğu anlamına gelir ve d , dizin anlamına gelir. Dosya adı bir bağlantıysa , ilk bitin de l olabileceğini unutmayın. (l)Daha sonra, üç bitlik üç grup vardır. Her gruptaki ilk bit okuma, ikinci bit yazma ve üçüncü bit çalıştırma içindir. İlk üç bit sahibi içindir, ikinci üç bit grup içindir ve üçüncü üç bit diğer içindir. İşte daha görsel bir açıklama.

Bir harf yerine bir tire görürseniz, sahibin, grubun veya diğer tüm kullanıcıların bu izne sahip olmadığı anlamına gelir. Yukarıdaki örnekte, sahip, grup ve diğer herkesin okuma yazma ve yürütme izinleri vardır.

ls -l komutunun çıktısına bakarsanız, alıştırma metin dosyamın aşağıdaki izinlere sahip olduğunu fark edeceksiniz:

-rw-rw-rw-

Bu, herkesin dosya için yalnızca okuma/yazma izinlerine sahip olduğu anlamına gelir. İşte başka bir örnek:

drwxr--r--

İlk bit'e baktığımızda izinlerin bir dizin için olduğunu görebiliriz. Sahibin okuma/yazma/yürütme izinleri vardır, ancak grup ve diğer kullanıcılar yalnızca okuma iznine sahiptir.

Sekizlik Sayı Temsili

Linux'ta(Linux) izinler semboller kullanılarak bu şekilde görüntülenir. Aynı izinleri göstermenin ikinci yolu sekizli sayıları kullanmaktır. Daha sonra chmod komutunu kullandığımızda, izinleri semboller veya sekizli sayılar kullanarak değiştirebileceğinizi göreceksiniz.

Peki Linux sekizli sayıları kullanarak okuma, yazma ve yürütmeyi nasıl temsil eder? Temel olarak, aşağıda gösterildiği gibi her izne bir numara atar.

Okuma izni 4, yazma 2 ve yürütme 1 ile temsil edilir. Tek yapmanız gereken sekizli izni almak için bunları toplamaktır. Örneğin, herkesin tüm izinlere sahip olduğu yukarıdaki örneği ele alalım:

-rwxrwxrwx

Sahibinin rwx'i var, bu yüzden 7 değerini elde etmek için 4 + 2 + 1 ekleyeceğiz. Son sekizlik değer 777'dir. Sadece okuma/yazma izinleri verdiğimiz örneğe bir göz atalım:

-rw-rw-rw-

Okuma yazma eklediğimiz için ilk sekizlik sayı 4 + 2 olacaktır. İkincisi, üçüncü sekizli sayı ile aynı olacaktır. Burada 666'lık bir son sekizlik değerimiz var.

Şimdi diğer yolu deneyelim. 755'in(755) hangi izinleri temsil ettiğini bilmek istediğimizi varsayalım. Pekala, tek tek sayılara ayırıp ayırmadığınızı anlamak oldukça kolay. İlk sayı 7'dir ve sadece 4 + 2 + 1 ekleyerek elde edebiliriz, yani sahibinin okuma/yazma/yürütme izni vardır. Beş sadece 4 + 1 eklenerek elde edilebilir, yani grup ve diğer kullanıcılar okuma ve yürütme izinlerine sahiptir.

Umarım bu, (Hopefully)Linux'ta(Linux) sekizlik sayıları kullanarak izinlerin nasıl temsil edileceğine dair iyi bir açıklamadır . Genel olarak oldukça düz.

İzinleri Değiştirmek için chmod Kullanma

Artık izinleri nasıl okuyacağımızı anladığımıza göre, bunları nasıl değiştirebileceğimizden bahsedelim. Bu amaçla kullanılabilecek en kolay yardımcı program chmod komutudur. İşte nasıl çalıştığı. Komutu açıklamanın en iyi yolu bir örnek üzerinden gitmektir.

Yukarıda bahsettiğimiz izinlerle başlayalım, yani:

-rw-rw-rw-

Sahip, grup ve diğerleri için yürütme izni eklemek istersek, bunu iki şekilde yapabiliriz. Sembol yöntemini veya sekizli yöntemini kullanabiliriz. Sembol yöntemi için aşağıda gösterildiği gibi aşağıdakileri yapardık:

Kesin komut

chmod a+x filename

Sözdizimi şu şekildedir: sahip ( u ), grup ( g ), diğer ( o ) veya tümünü ( a ) temsil eden harf veya harfler ve ardından izin eklemek için bir + ve ardından için harf izin ( okumak için r , yazmak için w ve yürütmek için x ).

Yukarıdaki örnekte, tüm kullanıcılar için yürütme iznini ekledim. Yukarıdaki ekran görüntüsünde görebileceğiniz gibi sonuç, sahip, grup ve diğer için bir x'tir . (x)Şimdi diyelim ki sadece grup ve diğer kullanıcılar için yazma ve yürütme izinlerini kaldırmak istedim.

Burada görebileceğiniz gibi, bunu başarmak için aşağıdaki komutu kullandım:

chmod go-wx filename

Grup ve diğer izinleri değiştirmek istediğim için g harfini ve o harfini kullanıyorum . İzinleri kaldırmak istiyorum, bu yüzden işaretini kullanıyorum. Son olarak, yazma ve yürütme izinlerini kaldırmak istiyorum, bu yüzden w ve x kullanıyorum . Sembol kullanımı için kullanışlı küçük bir tablo:

Yani sembol yöntemini kullanmak için hepsi bu kadar. Şimdi biraz daha kolay olduğunu düşündüğüm sekizli yöntemden bahsedelim. Octal güzel çünkü izinleri tek seferde ekleyip kaldırabilirsiniz.

Bir dosya üzerinde aşağıdaki izinlerle başlarsak, sekizli yöntemi kullanarak bunları nasıl değiştirebileceğimizi görelim:

-rw-rw-rw-

Yukarıda(Above) , aşağıdaki komutu kullandığımı görebilirsiniz:

chmod 744 filename

Bu temelde, sahibinin okuma/yazma/yürütme izni aldığını ve grubun ve diğerlerinin yalnızca okuma izni aldığını söylüyor. Gördüğünüz gibi, izinleri tek bir komutla eklemek veya kaldırmak kolaydır. Devam edelim ve izinleri tekrar değiştirmek istiyorum diyelim.

Şimdi aşağıdaki komutu kullandım, yine çok basit:

chmod 640 filename

Burada sahibine okuma/yazma izinleri verdik, gruba sadece okuma izni ve diğer gruba hiçbir izin vermedik. İzin olmadığını belirtmek için sıfır kullanırsınız. Oldukça basit, ha?

Sonuç olarak, bu Linux(Linux) izinlerine çok basit bir genel bakış ve bundan çok daha karmaşık hale gelebilir, ancak yeni başlayanlar için iyi bir başlangıç ​​noktasıdır. Gelecekte daha gelişmiş izinler hakkında daha fazla makale yayınlayacağım. Herhangi bir sorunuz varsa, yorum yapmaktan çekinmeyin. Zevk almak!



About the author

10 yılı aşkın deneyime sahip profesyonel bir ses mühendisiyim. Küçük ev ses sistemlerinden büyük ticari prodüksiyonlara kadar çok çeşitli projelerde çalıştım. Benim becerilerim, müziğin kulağa harika gelmesini sağlayan mükemmel film müzikleri ve ses işleme araçları yaratmakta yatıyor. Ayrıca Windows 10 konusunda son derece deneyimim var ve bilgisayar sisteminizden en iyi şekilde yararlanmanıza yardımcı olabilirim.



Related posts