Belirli bir klasör için umask nasıl ayarlanır

19

Bazı bariz nedenlerden dolayı, belirli bir klasör için umask değerini ayarlamam gerekiyor. Bunu nasıl yapabilirim?

Önceden teşekkürler!

GÜNCELLEME 1

Belirli bir klasör için umask kullanmamın sebebi takip ediyor. Bir web uygulamasına sahibim ve bir dosya oluşturduğunda varsayılan izin 700'dür. Ancak bu dosya için en az 755 izne ihtiyacım var. Sanırım sorunu daha açık bir şekilde açıklayabilirim.

    
sordu Bakhtiyor 22.05.2011 22:02

4 cevap

26

setfacl

kullanabilirdiniz
setfacl -d -m group:name:rwx /path/to/your/dir

name 'nin grup adı olduğu yer

Sizin veya belirli bir kullanıcının ait olduğu grupları bulmak için Unix / linux'da belirli bir kullanıcının komut satırı üzerinden hangi gruba girdiğini nasıl öğreneceksiniz?

    
verilen cevap yogi70 14.11.2012 17:31
10

Her dizin için umask ayarlayamazsınız, bu işlem düzeyinde bir değerdir. Başkalarının bir dizindeki dosyaları okumasını engellemeniz gerekiyorsa, karşılık gelen izin bitlerini iptal edin.

Örneğin, /home/user/directory dizinine sahip bir dosya ve dizinler içeren bir dosyadan 777 gibi izinleri alabilirseniz, /home/user/directory 'nin izin bitlerini 700 gibi bir değere ayarlayın. Bu, diğer kullanıcılar için imkansız hale getirecektir. kullanıcılar (süper kullanıcı kökü hariç) /home/user/directory 'de inmek için.

Paranoyak ve izinleri /home/user 'den 750' ye ayarlıyorum, bu yüzden sadece ev dizinimde okuyabilir, yazabilir ve inebilirim. Bunun sonucu olarak /home/user/Public gibi klasörlerin başkaları tarafından erişilememesi, ancak bununla yaşayabiliyorum.

Sorunuzun güncellenmesi için: yine de, dosya sistemindeki (güçlü bir şekilde diske dönüştürülmüş FAT gibi farklı bir dosya sistemi türünü kullanmanın dışında) bunu kontrol edemezsiniz, bunu web sunucunuzda yapmanız gerekir. Web sunucunuz PHP'de kodlanmışsa, umaskayı umask işlevini kullanarak anında değiştirebilirsiniz:

<?php
umask(0022);
// other code
?>

Bunu, veritabanı bağlantı şifresini içeren dosya gibi bir yapılandırma dosyasına koyabilirsiniz (Wordpress gibi uygulamalarda düşünmek).

Bir işlem değeri olduğunu unutmayın, bazı web sunucuları yapılandırma dosyalarında ayarlamanıza izin verir, aksi takdirde istenen umask değerini ayarlamak için başlangıç ​​komut dosyalarını değiştirebilirsiniz. Kodun duyarlı olması durumunda 755 ve 644 gibi izinlerin webapps için oldukça tehlikeli olduğunu unutmayın. Herkes okuyabilir.

    
verilen cevap Lekensteyn 22.05.2011 22:18
0

Bir klasörün izinlerini değiştirmek için chmod kullanın. umask dosyalar içindir.

İhtiyacınız olana umask olarak ayarlayın

umask xxx

ve bittiğinde geri dön

umask 022
    
verilen cevap wojox 22.05.2011 22:09
0

Başka bir çözüm, grup kimliğini dizinde oluşturulmuş dosyalarda ayarlamaktır, bu da dosyaları oluşturan kullanıcının grup kimliği yerine dizin grubu kimliğine ait yeni dosyaları oluşturur. Yani bence sadece yapabilirsin:

chown www-data:www-data /my/folder

chmod 4755 /my/folder

Bu, /my/folder 'de oluşturulan tüm dosyaların www-data grubuna ait olması için setgid özel dosya iznini ayarlar. Bu, üst dizinden dolayı rx (5) iznine sahiptir.

    
verilen cevap Bastiaan 11.07.2017 10:49

Etiketlerdeki diğer soruları oku