Android

Linux'ta Umask komutu

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

Linux ve Unix işletim sistemlerinde, tüm yeni dosyalar varsayılan izin kümesiyle oluşturulur. umask yardımcı programı, yeni oluşturulan dosyalar veya dizinler için izin bitlerini belirleyen dosya modu oluşturma maskesini görüntülemenize veya ayarlamanıza olanak tanır.

Mkdir, touch, tee ve yeni dosyalar ve dizinler oluşturan diğer komutlar tarafından kullanılır.

Linux İzinleri

Daha ileri gitmeden önce, Linux izinleri modelini kısaca açıklayalım.

Linux'ta her dosya bir sahip ve bir grupla ilişkilendirilir ve üç farklı kullanıcı sınıfı için izin erişim haklarıyla atanır:

  • dosya sahibi, grup üyeleri, diğer herkes.

Her sınıfa uygulanan üç izin türü vardır:

  • okuma izni. yazma izni. yürütme izni.

Bu kavram, hangi kullanıcıların dosyayı okumaya, dosyaya yazmasına veya dosyayı yürütmesine izin verileceğini belirlemenizi sağlar.

Dosya izinlerini görüntülemek için ls komutunu kullanın:

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

İlk karakter, normal dosya ( - ), dizin ( d ), sembolik bağlantı ( l ) veya başka herhangi bir özel dosya türü olan dosya türünü temsil eder.

Sonraki dokuz karakter, her biri üç karakterden oluşan üç grup olan izinleri temsil eder. İlk küme sahip izinlerini, ikinci küme grup izinlerini ve son küme de diğer herkes izinlerini gösterir.

4 sekizlik değerine sahip r karakteri okuma, w yazma için 2 sekizlik değeri, x yürütme izni için 1 sekizlik değeri ve ( - ) izinsiz 0 için sekizlik değeri anlamına gelir.

Ayrıca üç özel dosya izin türü daha vardır: setuid , setgid ve Sticky Bit .

Yukarıdaki örnekte ( rwxr-xr-x ), sahibinin okuma, yazma ve yürütme izinlerine ( rwx ), grubun ve diğerlerinin okuma ve yürütme izinlerine sahip olduğu anlamına gelir.

Sayısal bir gösterim kullanarak dosya izinlerini temsil edersek 755 sayısına ulaşacağız:

  • Sahibi: rwx = 4+2+1 = 7 Grup: rx = 4+0+1 = 5 Diğer: rx = 4+0+1 = 5

Sayısal gösterimde temsil edildiğinde, izinlerde üç veya dört sekizli basamak olabilir (0-7). İlk basamak özel izinleri temsil eder ve atlanırsa, dosyada özel izinlerin ayarlanmadığı anlamına gelir. Bizim durumumuzda 755 , 0755 ile aynıdır. İlk basamak setuid için 4 , setgid için 2 ve Sticky Bit için 1 bir kombinasyonu olabilir.

Dosya izinleri chmod komutu ve sahiplik chown komutu kullanılarak değiştirilebilir.

Umask'ı anlama

Varsayılan olarak, Linux sistemlerinde, varsayılan oluşturma izinleri dosyalar için 666 ; bu, kullanıcıya, gruba ve diğerlerine okuma ve yazma izni verir ve dizinler için 777 ; bu, kullanıcıya, gruba okuma ve yazma izni verir. diğerleri. Linux, yürütme izinleriyle bir dosyanın oluşturulmasına izin vermez.

Varsayılan oluşturma izinleri umask yardımcı programı kullanılarak değiştirilebilir.

umask yalnızca geçerli kabuk ortamını etkiler. Çoğu Linux dağıtımında, sistem genelindeki varsayılan umask değeri pam_umask.so veya /etc/profile dosyasında ayarlanır.

Geçerli maske değerini görüntülemek için, argüman olmadan umask yazmanız yeterlidir:

umask

Çıktı aşağıdakileri içerecektir:

022

umask değeri, yeni oluşturulan dosya ve dizinlerde ayarlanmayacak izin bitleri içerir.

Daha önce de belirttiğimiz gibi, dosyalar için varsayılan oluşturma izinleri 666 ve dizinler 777 . Yeni dosyaların izin bitlerini hesaplamak için umask değerini varsayılan değerden çıkarın.

Örneğin, uname 022 yeni oluşturulan dosyaları ve dizinleri nasıl etkileyeceğini hesaplamak için şunu kullanın:

  • Dosyalar: 666 - 022 = 644 . Dosya sahibi dosyaları okuyabilir ve değiştirebilir. Grup ve diğerleri sadece dosyaları okuyabilir. Dizinler: 777 - 022 = 755 Sahibi dizine cd ve dizindeki dosyaları okumak, değiştirmek, oluşturmak veya silmek listesi. Grup ve diğerleri dizin içine cd ve dosyaları listeleyip okuyabilir.

-S seçeneğini kullanarak maske değerini sembolik gösterimle de görüntüleyebilirsiniz:

umask -S

u=rwx, g=rx, o=rx

Sayısal gösterimin aksine, sembolik gösterim değeri, yeni oluşturulan dosya ve dizinlerde ayarlanacak izin bitlerini içerir.

Maske değerini ayarlama

Dosya oluşturma maskesi sekizli veya sembolik gösterimler kullanılarak ayarlanabilir. Değişiklikleri kalıcı hale getirmek için yeni umask değerini /etc/profile dosyası gibi global bir yapılandırma dosyasında tüm kullanıcıları veya ~/.profile , ~/.bashrc veya ~/.zshrc gibi bir kullanıcının kabuk yapılandırma dosyalarında ayarlayın. yalnızca kullanıcıyı etkiler. Kullanıcı dosyalarının genel dosyalara göre önceliği vardır.

umask değerinde değişiklik yapmadan önce yeni değerin potansiyel bir güvenlik riski oluşturmadığından emin olun. 022'den daha az kısıtlayıcı olan değerler çok dikkatli kullanılmalıdır. Örneğin umask 000 , herkesin yeni oluşturulan tüm dosyalar için okuma, yazma ve yürütme iznine sahip olacağı anlamına gelir.

Diyelim ki yeni oluşturulan dosyalar ve dizinler için daha kısıtlayıcı izinler ayarlamak istiyoruz, böylece diğerleri dizinlere cd dosyaları okuyamaz. İstediğimiz izinler dizinler için 750 ve dosyalar için 640'dır.

umask değerini hesaplamak için istenen izinleri varsayılan değerden çıkarın:

777-750 = 027 değeri: 777-750 = 027

Sayısal gösterimde temsil edilen istenen umask değeri 027 .

Yeni değeri sistem genelinde kalıcı olarak ayarlamak için /etc/profile dosyasını metin düzenleyicinizle açın:

sudo nano /etc/profile

ve dosyanın başına aşağıdaki satırı değiştirin veya ekleyin:

/ Etc / profile

umask 027

Değişikliklerin etkili olması için aşağıdaki source komutunu veya oturumu kapatın ve oturum açın:

source /etc/profile

Yeni ayarları doğrulamak için mkdir kullanarak yeni bir dosya ve dizin oluşturacağız ve

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

Dosya oluşturma maskesini ayarlamanın başka bir yolu da sembolik gösterimi kullanmaktır. Örneğin, umask u=rwx, g=rx, o= umask 027 ile aynıdır.

Sonuç

Bu kılavuzda, Linux izinlerini ve yeni oluşturulan dosyalar veya dizinler için izin bitlerini ayarlamak için umask komutunun nasıl kullanılacağını açıkladık.

Daha fazla bilgi için terminalinize man umask yazın.

umask terminali