Шрифт:
4.6. Создание файлов
Как было описано ранее,
4.6.1. Определение начальных прав доступа к файлу
Как пользователь GNU/Linux, вы знакомы с правами доступа к файлу, выдаваемыми командой '
Когда вы создаете файл, вы должны знать, какую защиту необходимо назначить новому файлу. Вы можете сделать это с помощью простого восьмеричного числа, если захотите, и такие числа довольно обычно можно увидеть в старом коде. Однако, лучше использовать побитовую операцию OR для одной или более символических имен из
Таблица 4.5. Символические имена POSIX для режимов доступа к файлу
Символическое имя | Значение | Комментарий |
---|---|---|
S_IRWXU | 00700 | Разрешение на чтение, запись и исполнение для владельца |
S_IRUSR | 00400 | Разрешение на чтение для владельца |
S_IREAD | Аналогично S_IRUSR | |
S_IWUSR | 00200 | Разрешение на запись для владельца |
S_IWRITE | Аналогично S_IWUSR | |
S_IXUSR | 00100 | Разрешение на исполнение для владельца. |
S_IEXEC | Аналогично S_IXUSR | |
S_IRWXG | 00070 | Разрешение на чтение, запись и исполнение для группы |
S_IRGRP | 00040 | Разрешение на чтение для группы |
S_IWGRP | 00020 | Разрешение на запись для группы. |
S_IXGRP | 00010 | Разрешение на исполнение для группы |
S_IRWXO | 00007 | Разрешение на чтение, запись и исполнение для остальных. |
S_IROTH | 00004 | Разрешение на чтение для остальных. |
S_IWOTH | 00002 | Разрешение на запись для остальных |
S_IXOTH | 00001 | Разрешение на исполнение для остальных |
Следующий фрагмент показывает, как создать переменные, представляющие разрешения
Более старый код использовал
К сожалению, ни одна из записей не является очень удобной. Современные версии предпочтительнее, поскольку у каждого бита доступа есть собственное имя и меньше вероятность неправильного выполнения побитовых операций.
При изменении прав доступа к файлу для использования доступны биты дополнительных разрешений, показанные в табл. 4.6, но они не должны использоваться при первоначальном создании файла. Возможность включения этих битов широко варьирует между операционными системами. Лучше всего не пробовать; вместо этого следует изменить права доступа к файлу явным образом после его создания. (Изменение прав доступа описано в разделе 5.5.2 «Изменение прав доступа: