umask(2) System Calls Manual umask(2) NUME umask - stabilete o masca de creare a modului de fiier BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include mode_t umask(mode_t mask); DESCRIERE umask() stabilete masca de creare a modului de fiier a procesului apelant (umask) la mask & 0777 (adica sunt utilizai numai biii de permisiune de fiier din mask) i returneaza valoarea anterioara a matii. ,,umask" este utilizat de open(2), mkdir(2) i alte apeluri de sistem care creeaza fiiere pentru a modifica permisiunile acordate fiierelor sau directoarelor nou create. In mod specific, permisiunile din ,,umask" sunt dezactivate din argumentul mode pentru open(2) i mkdir(2). Alternativ, daca directorul parinte are o lista de control de acces ,,ACL" implicita (a se vedea acl(5)), ,,umask" este ignorat, lista de control de acces implicita este motenita, biii de permisiune sunt stabilii pe baza listei de control de acces motenite, iar biii de permisiune abseni in argumentul mode sunt dezactivai. De exemplu, urmatoarea ACL implicita este echivalenta cu un umask de 022: u::rwx,g::r-x,o::r-x Combinand efectul acestei ACL implicite cu un argument mode de 0666 (rw-rw-rw-), permisiunile de fiier rezultate ar fi 0644 (rw-r--r--). Constantele care trebuie utilizate pentru a specifica mask sunt descrise in inode(7). Valoarea implicita tipica pentru umask-ul procesului este S_IWGRP | S_IWOTH (octal 022). In cazul obinuit in care argumentul mode al lui open(2) este specificat ca: S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (octal 0666) la crearea unui fiier nou, permisiunile pentru fiierul rezultat vor fi: S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH (pentru ca 0666 & ~022 = 0644; adica rw-r--r--). VALOAREA RETURNATA Acest apel de sistem reuete intotdeauna, iar valoarea anterioara a matii este returnata. STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001, SVr4, 4.3BSD. NOTE Un proces-copil creat prin fork(2) motenete umask-ul parintelui sau. umask-ul este lasat neschimbat de execve(2). Este imposibil sa se utilizeze umask() pentru a prelua umask-ul unui proces fara a-l modifica in acelai timp. Un al doilea apel la umask() ar fi atunci necesar pentru a restabili umask-ul. Neatomicitatea acestor doi pai ofera posibilitatea unor competiii in programele cu mai multe fire. Incepand cu Linux 4.7, umask-ul oricarui proces poate fi vizualizat prin intermediul campului Umask din /proc/pid/status. Inspectarea acestui camp in /proc/self/status permite unui proces sa ii recupereze umask-ul fara a-l modifica in acelai timp. Valoarea umask-ului afecteaza, de asemenea, permisiunile atribuite obiectelor POSIX IPC (mq_open(3), sem_open(3), shm_open(3)), FIFO (mkfifo(3)) i soclurilor de domeniu UNIX (unix(7)) create de proces. umask-ul nu afecteaza permisiunile atribuite obiectelor System V IPC create de proces (folosind msgget(2), semget(2), shmget(2), shmget(2)). CONSULTAI I chmod(2), mkdir(2), open(2), stat(2), acl(5) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 umask(2)