Diskte depolanan dosya sistemi dosya izinlerini saklamamaktadır, ancak dosya sistemi sürücüsü Unix dosya sistemi kavramının ayrılmaz bir parçası olduklarından ve sistem çağrısı arabirimlerinin izinlerin sunulduğunu gösterme imkanı bulunmadığından işletim sistemine sağlamalıdır. eksik.
Ayrıca bir dosyanın hiç izninin olmaması durumunda ne olacağını düşünün? Aynı şey 0777
, yani herkese erişim; veya aynı 0000
, yani kimseye erişim yok? Ancak bunların ikisi de dosya iznidir, peki neden onlara göstermiyorsunuz? Veya daha faydalı bir şeyler yapın ve bazı mantıklı izinler belirlemenin bir yolu var.
Bu nedenle, sürücü bazı dosyalar için izin verir, tüm dosyalar için aynıdır. Dosyaların sahibi ve grubu ile birlikte izinler bağlama zamanında yapılandırılabilir. Bunlar mount (8) man sayfasındaki "Oil for mount seçenekleri" altında açıklanmıştır :
Yağ için takma seçenekleri
(Not: yağ, ayrı bir dosya sistemi değil, msdos, umsdos ve vfat dosya sistemlerinin ortak bir parçasıdır.)
uid=value
ve gid=value
Tüm dosyaların sahibini ve grubunu ayarlayın. (Varsayılan: geçerli işlemin UID'si ve GID'si.)
umask=value
Umask'ı (mevcut olmayan izinlerin bit maskesi) ayarlayın. Varsayılan, geçerli işlemin umask'ıdır. Değer, sekizlik olarak verilmiştir.
dmask=value
Yalnızca dizinlere uygulanan umask değerini ayarlayın. Varsayılan, geçerli işlemin umask'ıdır. Değer, sekizlik olarak verilmiştir.
fmask=value
Yalnızca normal dosyalara uygulanan umask değerini ayarlayın. Varsayılan, geçerli işlemin umask'ıdır. Değer, sekizlik olarak verilmiştir.
İzinlerin maske olarak sunulduğunu unutmayın; bu nedenle nihai izinler maskenin ihmalidir. veya fmask=0133
izin verilen tüm dosyalara neden olur .0644
rw-r--r--
Ayrıca, varsayılanlar işlem çağrısından miras alınır mount()
, bu nedenle mount
komut satırından çağırırsanız , kabuk umask
uygulanacaktır.