Несмотря на то, что основы операционных систем закладывались во времена, когда «хакерства» не было, но авторы UNIX думали о безопасности с первых дней. Первым ее элементом является защита во время регистрации сеанса пользователя, который открывается по паролю. Но файловая система имеет свои собственные средства защиты. Одно из них строится на правах доступа ко всем файлам. Для каждого из них обязательно определены права совершать три операции: чтения, записи и исполнения. С точки зрения этих прав, пользователи системы поделены на три категории:
· сам владелец файла,
· группа пользователей, к которой принадлежит владелец,
· все остальные.
Все девять значений, определяющие для этих групп пользователей возможность реализовать эти три операции, выводятся командой ls с опцией -l. В результате ее выполнения для каждого файла выводится отдельная строка. В ней девять символов, которые занимают позиции со второй по десятую, показывают установленные права доступа к файлу. К примеру, если для какого то файла его владельцу разрешены все три действия, то символы со второго по четвертый будут такими rwx. Первый из символов показывает допустимость операции читать (read), второй – писать (write) и третий – исполнять (execute). Если какое-то из действий не разрешено, то на соответствующем месте будет символ «–». Например, такой набор девяти символов rwxr-xr--, определяет, что владельцу файла разрешены все три операции, членам его группы ‑ чтение и исполнение, а всем остальным пользователям – только чтение.
Для смены прав доступа к файлу в командном режиме используется утилита chmod. Ей указывается:
1. Для каких пользователей меняются права (u – user, для владельца; g – groupe, для членов его группы; o – other, для всех остальным пользователям, кроме его самого и членов группы; a – all, всем пользователям вообще).
2. Операцию, которую надо выполнить (+ добавить; - запретить или= установить).
3. Набор символов, определяющих какие действия разрешены (любой из символов r, w, x или их комбинация) или запрещены (символ дефис «-»).
Первые три элемента записываются без пробелов. Далее после как минимум одного пробела задается аргумент команды.
4. Имя, список или шаблон файла.
К примеру, такая команда
chmod a+x file
добавляет для всех пользователей права на выполнения файла. Следующая
chmod g=w z*
установит для пользователей группы владельца все файлам, начинающимся на букву z, право писать.
Права доступа к файлу могут быть записаны и в цифровом эквиваленте. Например, такой набор rwxr-xr-- преобразуется в такие тройки цифр 111 (rwx), 101 (r-x) и 100 (r--). Получаем, что rwxr-xr—эквивалентно числу 754 в восьмеричной записи.