При создании каждого файла для него устанавливается набор режимов доступа. Каждый режим описывает права на чтение, запись и выполнение, предоставленные пользователям, группе и всем остальным пользователям.
Права доступа к новому файлу вычисляются путем побитового умножения величины, обратной umask, на значение режима доступа, указанное процессом при создании файла. Во время создания файла процессом операционная система выполняет следующие действия:
Например, режим доступа 027 указывает, что у владельца нет никаких прав доступа к файлу. Группе предоставлены права на запись. Всем остальным пользователям предоставлены права на чтение, запись и выполнение. Значение umask для набора прав доступа 027 равно 750 (обратно исходным правам доступа). После побитового умножения 750 на 666 (режим доступа к файлу, указанный в системном вызове при создании файла) получаются фактические права доступа к файлу - 640. Ниже эти права доступа записаны в другом формате:
027 = _ _ _  _ W _  R W X        Права доступа к существующему файлу
750 = R W X  R _ X  _ _ _        Обратное значение umask
                                 права доступа
666 = R W _  R W _  R W _        Права доступа, заданные при создании файла
AND
750 = R W X  R _ X  _ _ _        Значение umask
640 = R W _  R _ _  _ _ _        Итоговые права доступа к файлу
| umask | Получает и устанавливает маску создания файла | 
| chmod и fchmod | Изменяют права доступа к файлу. | 
| access | Анализирует и выдает права доступа к файлу с указанным именем и путем. Эта функция использует не действующие, а фактические ИД пользователя и группы. Это позволяет программам, изменившим свой ИД пользователя и группы, предоставлять доступ лишь отдельным пользователям. | 
$ ls -l total 0 -r-s--x--x 1 root system 8290 09 июня 17:07 special -rw------- 1 root system 1833 09 июня 17:07 secrets $ cat secrets cat: невозможно открыть secrets
В данном примере у владельца нет прав доступа к файлу secrets. Однако программа special, запущенная от имени root, сможет обратиться к файлу. Для того чтобы сохранить защиту файла, в программе должна применяться функция access.
Для того чтобы запретить доступ к
файлу таким способом, в программах, изменяющих свои ИД пользователя и группы,
всегда должна применяться функция access.
| chown | Изменяет ИД владельца файла, указанный в i-узле. Старый ИД владельца удаляется, а на его место записывается новый. | 
Функция chmod изменяет режим доступа к файлу.
При изменении владельца файла и режима доступа обновляется только i-узел, а не данные в файле. Эти действия может выполнять только процесс администратора или владельца файла.
Глава 5, Файловые системы и каталоги
Функции access, accessx, faccessx, chown, fchown, chownx, fchownx, chmod и fchmod