Nie można ustawić umask dla katalogu, jest to wartość na poziomie procesu. Jeśli chcesz uniemożliwić innym czytanie plików w katalogu, odwołaj odpowiednie bity uprawnień.
Na przykład, jeśli masz katalog /home/user/directory
z niektórymi plikami i katalogami, które mogą uzyskać uprawnienia z procesu, takie jak 777, ustaw bity uprawnień /home/user/directory
na około 700. Uniemożliwi to innym użytkownikom (poza rootem superużytkownika) zejście w /home/user/directory
.
Jestem paranoikiem i ustawiłem uprawnienia na /home/user
750, więc tylko ja mogę czytać, pisać i schodzić w moim katalogu domowym. W konsekwencji /home/user/Public
inni nie mogą uzyskać dostępu do takich folderów , ale mogę z tym żyć.
Po aktualizacji pytania: nadal nie możesz kontrolować tego w systemie plików (innym niż używanie innego typu systemu plików, takiego jak FAT, który jest zdecydowanie odradzany), musisz to zrobić w swojej aplikacji internetowej. Jeśli twoja aplikacja jest zakodowana w PHP, możesz zmienić umask w locie za pomocą umask
funkcji:
<?php
umask(0022);
// other code
?>
Możesz umieścić to w pliku konfiguracyjnym, takim jak plik zawierający hasło połączenia z bazą danych (myślenie w aplikacjach takich jak Wordpress).
Pamiętaj, że jest to wartość procesowa, niektóre serwery pozwalają na ustawienie jej w swoich plikach konfiguracyjnych, w przeciwnym razie możesz zmodyfikować skrypty startowe, aby ustawić żądany umask. Pamiętaj, że uprawnienia takie jak 755
i 644
są dość niebezpieczne dla aplikacji internetowych, jeśli kod jest wrażliwy, każdy może go odczytać.