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


Son birkaç aydır Linux üzerinde bir ders alıyorum ve Linux'un her zaman kafamı karıştıran bir yönü izinlerin nasıl işlediğiydi. Örneğin, bir dosyamı web sunucusuna bir kez yüklediğimde ve bir hata alırken, web sunucumun dosya izinlerini 755 olarak değiştirmesi söylendi.

Değişim olsa bile bunun ne anlama geldiğine dair hiçbir fikrim yoktu. izinler sorunu çözdü. Artık Linux izinlerinin daha karmaşık olmadığını fark ettim, sadece sistemi anlamanız gerekiyor. Bu makalede, Linux izinleri hakkında yüksek düzeyde konuşacağız ve dosya ve klasörlerin izinlerini değiştirmek için chmod komutunu nasıl kullanacağınızı göstereceğim.

Linux İzinleri & amp; Seviyeler

Linux'ta, normalde endişelenmeniz gereken üç 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, bunlar düzeylere uygulanır.

Linux'ta üç düzey izin vardır: sahip, grup ve diğer. Sahibi dosya / klasöre sahip olan kullanıcıdır, grup dosya grubundaki diğer kullanıcıları içerir ve diğerleri de sahip veya gruptaki diğer tüm kullanıcıları temsil eder.

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

İzinler aşağıdaki gibi yazılır: İlk bit bir tire veya d harfi. Dash, bir dosya ve ddizininin anlamına gelir. İlk bitin, dosya adı bir bağlantı ise, bir lolabileceğini unutmayın. Daha sonra üç bitlik üç grup vardır. Her gruptaki ilk bit okumak içindir, ikinci bit yazma içindir ve üçüncü bit yürütme 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 harfin yerine bir tire görürseniz bu, sahip, grup veya diğer tüm kullanıcılar anlamına gelir. bu izni yok. Yukarıdaki örnekte, sahip, grup ve herkes, yazma ve yürütme izinlerini okudu.

ls -l komutundan çıktıya bakarsanız, uygulama metin dosyamda izleyen izinler:

-rw-rw-rw-

Bu, herkesin yalnızca dosya için 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. Sahip, okuma / yazma / yürütme izinlerine sahiptir, ancak grup ve diğer kullanıcılar yalnızca okuma iznine sahiptir.

Sekizli Sayı Temsili

Öyleyse, bu, Linux kullanarak sembollerin nasıl kullanıldığını gösterir. Aynı izinleri temsil etmenin ikinci yolu sekizlik sayıları kullanmaktır. Daha sonra chmod komutunu kullandığımızda, sembolleri veya sekizli sayıları kullanarak izinleri değiştirebileceğinizi göreceksiniz.

Peki, Linux sekizlik sayıları nasıl okur, yazar ve yürütür? Temel olarak, aşağıda gösterildiği gibi her bir izne bir sayı atar.

Okuma izni 4 ile gösterilir, 2'ye yazılır ve 1 ile yürütülür. Tek yapmanız gereken, sekizlik iznini almak için bunları eklemektir. Örneğin, herkesin tüm izinlerine sahip olduğu yukarıdaki örneği ele alalım:

-rwxrwxrwx

Sahibin rwx'i var, bu yüzden 7 değerini almak için 4 + 2 + 1 ekleyeceğiz. Aynı şeyi grup için ve aynı şey için yaparız. Son sekizlik değer 777'dir. Okuma / yazma izinlerini verdiğimiz örneğe bir bakalım:

-rw-rw-rw-

İlk sekizlik sayı 4 + 2 olacaktır. okuma ve yazma ekleyerek. İkincisi, üçüncü sekizli sayı ile aynı olacaktır. Burada son sekizlik bir değere sahibiz 666.

Şimdi şimdi başka şekilde deneyelim. 755'in hangi izinleri temsil ettiğini öğrenmek istiyor musunuz? Bireysel sayılar tarafından parçalanıp çözülmediğini anlamak oldukça kolay. İlk sayı 7, sadece 4 + 2 + 1 ekleyerek alabiliyoruz, yani sahibinin okuma / yazma / yürütme izni var. Beş tane sadece 4 + 1 ekleyerek elde edilebilir, yani grup ve diğer kullanıcılar okuma ve yürütme izinlerine sahiptir.

Umarım bu iyi bir şeydir. Sekizli sayıları kullanarak Linux'ta izinleri nasıl temsil edeceğinize dair açıklama. Genel olarak oldukça basittir.

İzinleri Değiştirmek için chmod'u kullanma

Artık izinleri nasıl okuyacağımızı anladığımızda, bunları nasıl değiştirebileceğimiz hakkında konuşalım. Bu amaçla kullanılacak en kolay yardımcı program chmod komutudur. İşte böyle çalışıyor. Komutu açıklamanın en iyi yolu örneklerden geçmektir.

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

-rw-rw-rw-

Eğer Sahibi, grubu ve diğer için yürütme iznini eklemek istedik, iki yoldan gidebiliriz. Sembol metodunu veya sekizli metodu kullanabiliriz. Sembol yöntemi için aşağıda gösterildiği gibi aşağıdakileri yaparız:

Tam komut

chmod a+x filename

Sözdizimi şöyledir: sahibini temsil eden harf veya harfler (u), grup (g), diğer (o+veya izinleri almak için bir -, ardından izin için bir mektup Okuma için r, yazma için wve yürütmek için x.

Yukarıdaki örnekte, tüm kullanıcılar için izin yürütme. Yukarıdaki ekran görüntüsünde gördüğünüz sonuç, sahip, grup ve diğer kullanıcılar için bir x. Şimdi sadece grup ve diğer kullanıcılar için yazma ve yürütme izinlerini kaldırmak istediğimi varsayalım.

Burada gördüğünüz gibi, Bunu gerçekleştirmek için aşağıdaki komut için:

chmod go-wx filename

Grup ve diğer izinleri değiştirmek istediğim için gharfini ve harfi kullanıyorum o. İ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 wve xkullanıyorum. İşte sembol kullanımı için kullanışlı küçük bir masa:

Öyleyse bu, sembol yöntemini kullanmaktır. Şimdi biraz daha kolay bulduğum sekizli yöntem hakkında konuşalım. Bir seferde izinler ekleyebilir veya kaldırabilirsiniz çünkü Sekizli güzeldir.

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

-rw-rw-rw-

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

chmod 744 filename

Bu temelde sahibin okuma / yazma / yürütme izni aldığını ve grubun ve diğerlerinin yalnızca okuma iznini aldığını söylüyor. Gördüğünüz gibi, basit bir komutta izin eklemek veya kaldırmak kolaydır. Devam edip izinleri tekrar değiştirmek istediğimi söyleyelim.

Şimdi şu komutu kullandım, yine çok basit bir tane:

chmod 640 filename

Burada, sahibi okuma / yazma izinleri verdik, grup sadece okuma izni ve diğer grup izinleri vermedi. Hiçbir izin belirtmek için sıfır kullanın. Oldukça basit, eh?

Sonuç olarak, bu Linux izinlerinin çok basit bir genel görünümüdür ve bundan çok daha karmaşık olabilir, ancak yeni başlayanlar için başlamak için iyi bir yerdir. Gelecekte daha gelişmiş izinler hakkında daha fazla makale yayınlayacağım. Herhangi bir sorunuz varsa yorum yapmaktan çekinmeyin. Tadını çıkarın!

debian_konsol_komutları-1

İlgili Mesajlar:


16.02.2017