В операционных системах, основанных на UNIX, привилегии пользователей для работы с файлами и папками играют ключевую роль. Существует три категории пользователей и три вида прав, которые определяют, кто и как может взаимодействовать с файлами и папками.
Категории пользователей:
- Владелец файла (user)
- Группа файла (group)
- Остальные (other)
Виды прав:
- Чтение (r)
- Запись (w)
- Выполнение (x)
Пример списка файлов в терминале
Запустив команду ls -al
в терминале, вы увидите список файлов и папок с их правами доступа:
drwxr-xr-x+ 52 george75 staff 1664 12 май 17:06 .
drwxr-xr-x 5 root admin 160 5 дек 2019 ..
-r-------- 1 george75 staff 8 5 ноя 2018 .CFUserTextEncoding
-rw-r--r--@ 1 george75 staff 26628 12 май 22:20 .DS_Store
drwx------ 2 george75 staff 64 8 май 17:44 .Trash
drwxr-x--x 3 george75 staff 96 13 ноя 2019 .adobe
drwxr-xr-x 4 george75 staff 128 13 ноя 2018 .android
drwxrwxrwx 10 george75 staff 320 17 май 2019 .anydesk
Расшифровка прав доступа
Строки вида drwxr-xr-x+
указывают права доступа. Первый символ указывает тип файла:
-
– обычный файлd
– директорияl
– ссылка
Далее следуют три набора по три символа, указывающие права для владельца, группы и остальных пользователей соответственно.
Примеры прав доступа:
rwx
– чтение, запись и выполнениеrw-
– чтение и записьr--
– только чтение
Изменение прав доступа с помощью команды chmod
Символические аргументы
Этот подход используется чаще всего благодаря своей простоте.
Синтаксис:
a
– для всех пользователей (all)u
– для владельца (user)g
– для группы (group)o
– для остальных (other)
Примеры:
chmod a+r file.txt # Все пользователи получают право на чтение файла
chmod a+rw file.txt # Все пользователи получают права на чтение и запись файла
chmod o-rwx file.txt # Остальные пользователи теряют права на чтение, запись и выполнение файла
chmod ag-r file.txt # Группа и остальные пользователи теряют право на чтение файла
Для рекурсивного изменения прав всех вложенных файлов и папок используйте опцию -r
.
Числовые аргументы
Числовые аргументы позволяют быстро установить права доступа. Понимание их использования требует времени, но они короче и быстрее в применении.
Значения прав:
1
– выполнение2
– запись4
– чтение
Комбинации:
0
– доступ запрещен1
– выполнение2
– запись3
– запись и выполнение4
– чтение5
– чтение и выполнение6
– чтение и запись7
– чтение, запись и выполнение
Примеры:
chmod 777 file.txt # Все пользователи могут читать, записывать и выполнять файл
chmod 755 file.txt # Владелец может читать, записывать и выполнять файл, остальные могут только читать и выполнять
chmod 644 file.txt # Владелец может читать и записывать файл, остальные могут только читать
Заключение
Понимание и управление правами доступа в UNIX является важным навыком для любого пользователя и администратора. Использование команд ls -al
и chmod
позволяет эффективно управлять доступом к файлам и папкам, обеспечивая безопасность и удобство работы.