2010-05-06 13 views
5

Czytam niektóre kodu źródłowego i znalazłem to oświadczenie na samym początku głównej procedury:Dlaczego używałbyś umask?

umask(077); 

Co może być tego powodem?

Strona podręcznika (man 2 umask) stwierdza:

umask - ustawia tryb tworzenie pliku maskować

Ta polana pozwala każdemu użytkownikowi ograniczyć dostęp do swoich domyślną plików

Ale nie jest dla mnie jasne, dlaczego ktoś by to zrobił? jako skrót?

+0

Czy jesteś zaznajomiony z atrybutami plików UNIX, to znaczy, czy wiesz, co oznacza pierwszą kolumnę w komendzie „ls -l”? -rwx ------ + – Dewfy

+0

@Dewfy yes I do – fabrizioM

Odpowiedz

10

Ustawianie umask(077) zapewnia, że ​​wszystkie pliki utworzone przez program będą dostępne tylko dla ich właściciela (0 w pierwszym położeniu = wszystkie uprawnienia potencjalnie dostępna) i nikt inny (7 w drugim/trzecim miejscu = wszystkie uprawnienia niedozwolone na grupę/inne).

+1

Spodziewalibyśmy się zobaczyć to ustawienie w programie, który generuje bardzo wrażliwe pliki, które powinny * nigdy * być dostępne dla dowolnego innego użytkownika, w każdej sytuacji ('ssh -keygen' jest dobrym przykładem). Normalne programy powinny respektować istniejące 'umask()' ustawione przez użytkownika. – caf

Powiązane problemy