Man fchmod (2) променя разрешенията за файлове

int chmod (const char *име на пътя, mode_t режим);int fchmod (int fd, mode_t режим);#include/* дефиниции на константи AT_ * * /
#includeint fchmodat (int dirfd, const char *име на пътя, mode_t режим, инт знамена);

Изисквания за макрос за тестване на свойства за glibc (вж. feature_test_macros(7)):

_BSD_SOURCE || _XOPEN_SOURCE> = 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
||/* от glibc 2.12: */_POSIX_C_SOURCE> = 200809L

Тъй като glibc 2.10: _XOPEN_SOURCE> = 700 || _POSIX_C_SOURCE> = 200809L Преди glibc 2.10: _ATFILE_SOURCE

Разрешенията за нов файл се задават в променлива режим, което е битова маска, създадена чрез битово добавяне на нула или повече от следните константи:

Ефективният потребителски идентификатор (UID) на извикващия процес трябва да съвпада с UID на собственика на файла или процесът трябва да бъде привилегирован (Linux: Той трябва да има идентификационни данни CAP_FOWNER).

Ако процесът на извикване не е привилегирован (Linux: не е задължен CAP_FSETID), а групата, която притежава файла, не съответства на ефективния идентификатор на групата на процеса или на един от допълнителните му идентификатори на групата, тогава битът S_ISGID ще бъде изчистено, но няма да възникне грешка.

В зависимост от файловата система, от съображения за сигурност, битовете за изпълнение на set-user-ID и set-group-ID могат да бъдат изчистени, когато пишете във файл (в Linux това се случва, ако процесът на запис не е упълномощен CAP_FSETID). На някои файлови системи само суперпотребителят може да зададе лепкавия бит, който може да има специално предназначение. За битовете за закрепване, set-user-ID и set-group-ID стойностите за директориите вижте статистика(2).