Umask, uygulamaların dosyalarda ayarlayamadığı bir dizi izin olarak işlev görür. İşlemler için bir dosya modu oluşturma maskesidir ve dizinlerin kendisi için ayarlanamaz. Çoğu uygulama, yürütme izinleri ayarlanmış dosyalar oluşturmaz, bu nedenle varsayılan olarak 666
umask tarafından değiştirilen bir varsayılanı olur .
Umask'ı sahibinin okuma / yazma bitlerini ve diğerleri için okuma bitlerini çıkarması için ayarladığınızdan, 777
uygulamalarda olduğu gibi varsayılan bir dosya izinlerinin alınmasına neden olur 133
. Bu, sizin (ve diğerlerinin) dosyayı çalıştırabileceği ve başkalarının da yazabileceği anlamına gelir.
Dosyaların sahibinden başka biri tarafından okunmaması / yazılmaması / yürütülmemesini istiyorsanız 077
, grup ve diğerleri için bu izinleri kapatmak gibi bir umask kullanmanız gerekir .
Buna karşılık, bir umask 000
yeni oluşturulan dizinleri herkes için okunabilir, yazılabilir ve alçaltılabilir kılar (izinler olacaktır 777
). Böyle bir umask oldukça güvensizdir ve umask'ı asla ayarlamamalısınız 000
.
Ubuntu'daki varsayılan umask, 022
yeni oluşturulan dosyaların herkes tarafından okunabildiği, ancak yalnızca sahibinin yazabileceği anlamına geliyordu:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-r--r-- 1 user user 0 Apr 1 19:15 new-file-name
Ubuntu Oneiric (11.10) 'dan başlayarak, varsayılan umask gevşetildi 002
, bu da sahibinin grubuna yazma erişimini genişletti:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-rw-r-- 1 user user 0 Apr 1 19:15 new-file-name
Umask görüntüleme ve değiştirme
Geçerli umask ayarınızı görüntülemek için bir terminal açın ve komutu çalıştırın:
umask
Geçerli kabuğun umask ayarını başka bir şeyle değiştirmek için, 077 deyin, run:
umask 077
Bu ayarın işe yarayıp yaramadığını test etmek için, yeni bir dosya oluşturabilir (varolan bir dosyanın dosya izinleri etkilenmez) ve dosyayla ilgili bilgileri gösterebilir, çalıştır:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw------- 1 user user 0 Apr 1 19:14 new-file-name
Umask ayarı, aynı kabuktan başlatılan işlemlerle miras alınır. Örneğin, GEdit metin düzenleyicisini uçbirimde yürüterek başlatın ve gedit
gedit kullanarak bir dosyayı kaydedin. Yeni oluşturulan dosyanın terminaldeki ile aynı umask ayarından etkilendiğini fark edeceksiniz.
Kullanım örneği: çok kullanıcılı sistem
Birden fazla kullanıcı tarafından paylaşılan bir sistemdeyseniz, başkalarının ana dizininizdeki dosyaları okuyamaması tercih edilir. Bunun için bir umask çok faydalıdır. Şununla ~/.profile
yeni bir satır düzenleyin ve ekleyin:
umask 007
Bu umask değişikliğinin ~/.profile
yürürlüğe girmesi için tekrar giriş yapmanız gerekiyor . Daha sonra, dünya için okuma, yazma ve yürütme bitlerini kaldırarak ana dizininizdeki dosyaların mevcut izinlerini değiştirmeniz gerekir. Bir terminal aç ve çalıştır:
chmod -R o-rwx ~
Bu umask ayarının sistemdeki tüm kullanıcılara uygulanmasını istiyorsanız, sistem genelindeki profil dosyasını adresinde düzenleyebilirsiniz /etc/profile
.
app_mode 666 rw- rw- rw-
umask 644 --0 -00 -00
file_mode 022 --- -w- -w-