26 Eylül 2012 Çarşamba

                    
                                               Umask ve Default Umask
Linux sistemlerde umask parametresinin değeri bir dosya ve directory oluşturulacağı zaman dosya ve directory izinlerinin ne olacağına karar vermek için kullanılır. Eğer umask sistemde belirtilmemişse dosya ve directory izinleri default varolan  izinler ile  oluşturulur
Setup Default umask:Bu parametreyi  etc/bashrc veya /etc/profile dosyası içerisinde set edebiliriz. Çoğu linux veriyonlarında  bu değer  default olarak normal kullanıcılar için 0022(022) root kullanıcısı için 0002(002)dir.Umask kullanılarak file ve directory permission hesaplanırken base permission değerleri kullanılır.
NOT:Directory için base permission 0777 files için base permission 0666

1)Normal kullanıcılar için herhangi bir umask belirtilmezse default umask 002.Yani  default olarak  directory 775 permission  ile file 664 permission ile oluşturulur.

2)Root kullanıcısı için herhangi bir umask belirtilmezse default umask 022.Yani default olarak  directory  755 permissionu ile  file 644 permission ile oluşturulur.

Umask Belirtilen Sitemde Permission Hesaplanması:
   Octal value : Permission
   0 : read, write and execute
   1 : read and write
   2 : read and execute
   3 : read only
   4 : write and execute
   5 : write only
   6 : execute only
   7 : no permissions

Permissionlarda bulunan değerlerin izin karşılıkları yukarıdaki gibidir.Bir örnekle açıklayalım;
1)sistemimizde user kullanıcısı /etc/bashrc dosyasında umask 222 olarak set ettik;
2)User kullanıcısı directory oluşturduğunda permission
777-222-->permission 555 olacaktır
5-->user----->read,execute
5-->user group---->read,execute
5-->other person----->read,execute

3)User kullanıcısı file oluşturduğunda
666-222-->permission 444 olacaktır
4-->read
4-->read
4-->read
======================================
1)sistemimizde user kullanıcısı /etc/bashrc dosyasında umask 077 olarak set ettik.
2)user kullanıcısı directory oluşturduğunda permission
777-077-->permission 700 olacaktır
7-->user----->read,write,execute
0-->user group---->none
0-->other person----->none

3)user kullanıcısı file oluşturduğunda
666-077-->permission 600 olacaktır
6-->read,write
0-->none
0-->none

Umask Symbolic Değerler Kullanarak Set Etme:

1)r:read
2)w:write
3)x:execute
4)u:user
5)g:group of user
6)o:other user

umask u=rwx,g=,o= --> bu umask 077 ile aynı değerde(permission 700)
bunun sonucunda directory için permission 700 file için permission 600 olur.