_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/umask - nustato failo sukūrimo kaukę
  • umask EXPR
  • umask

    Nustato umask'ą procesui į EXPR ir gražina prieš tai buvusią reikšmę. Jei EXPR praleistas, paprasčiausiai gražina dabartinį umask'ą.

    Unix leidimas rwxr-x--- parodomas kaip trijų bitų trigubas nustatymas arba aštuntainiai skaičiai: 0750 (pirmasis 0 parodo aštuntainę sistemą ir nėra vienas skaitmenų). umask reikšmė yra toks skaičius parodantis neveiksnius leidimų bitus. Leidimai (arba "režimas") reikšmės, kurias perduodate mkdir ar sysopen yra paveikiamas vartotojo umask, taigi net jei liepsite sysopen sukurti failą su leidimais 0777 , jei jūsų umask yra 0022 tada failas bus sukurtas su leidimais 0755 . Jei umask buvo 0027 (group negali rašyti; kiti gali skaityti, rašyti ir vykdyti), tai perduodant sysopen 0666 sukurs failą su leidimais 0640 (0666 &~ 027 yra 0640 ).

    Štai patarimas: uždėkite sukūrimo režime 0666 įprastiems failams (sysopen) ir vieną iš 0777 direktorijoms ( mkdir) ir vykdomiems failams. Tai duoda vartotojams pasirinkimo laisvę: jei jie nori apsaugotų failų, jie gali paisirinkti perduoti umaskus 022 , 027 , ar netgi ypač nedraugišką 077 . Programos turėtų retai, jei išvis kada nors palikti elgsenos sprendimus vartotojui. Išimtis tam yra failų, kurie turėtų būti nevieši rašymas: pašto failai, naršyklės sausainiukai, .rhosts failai ir t.t.

    Jei umask(2) nerealizuotas sistemoje, o jūs mėginate apriboti priėjimą pačiam sau (t.y., (EXPR & 0700) > 0), duoda lemtingą klaidą paleidimo metu. Jei umask(2) nėra realizuotas ir nemėginate savęs apriboti, gražina undef.

    Prisiminkite, kad umask yra skaičius, dažniausiai perduodamas aštuntainėje sistemoje; tai nėra aštuntainių skaitmenų stringas. Žr. taip pat oct, jei viskas, ką turite yra stringas..

algirdas@perl.lt 2005.04.11 - $dabar