Как проверить права доступа к файлу в Linux?
Linux – одна из самых популярных операционных систем, на которой работают VPS-серверы, платформы веб-хостинга и виртуальные машины по всему миру. В основе безопасности Linux лежит система прав доступа к файлам – правила, определяющие, кто может читать, изменять или исполнять файл. Знание того, как проверять разрешения в Linux, необходимо для управления VPS, настройки безопасной среды хостинга или работы внутри виртуальной машины.
Основы прав доступа к файлам
Каждый файл и каталог в Linux имеет три типа разрешений:
- Чтение (r) → просмотр содержимого файла или списка каталога.
- Запись (w) → изменить или удалить файл, добавить или удалить файлы в каталоге.
- Выполнить (x) → запустить файл (если это программа) или войти в каталог.
Эти разрешения применяются к трем категориям пользователей:
- Владелец (user) → обычно создатель файла.
- Группа → пользователи, входящие в группу файла.
- Другие → все остальные.
Проверка разрешений с помощью ls -l
Самый простой способ – использовать команду ls -l:
Пример вывода:
- -rw-r–r– → разрешения
- пользователь → владелец
- группа → группа
- file.txt → имя файла
Здесь -rw-r–r– означает:
- Владелец: чтение, запись
- Группа: читать
- Другие: читать
Подробная информация со статистикой
Для получения более подробной информации используйте:
Пример:
Теперь вы видите разрешения в двух формах: символической (-rw-r–r–) и числовой (0644).
Понимание числовых значений
Разрешения могут быть представлены в виде чисел:
- Чтение = 4
- Запись = 2
- Выполнить = 1
Сложив их, вы получите значение разрешения:
- rw- = 6
- r-x = 5
- rwx = 7
Таким образом, 0644 = Владелец: 6 (чтение/запись), Группа: 4 (чтение), Другие: 4 (чтение).
Разрешения для каталогов
Для каталогов правила немного отличаются:
- r → перечислять имена файлов.
- w → создавать или удалять файлы (если также задан x).
- x → введите директорию.
Пример
Здесь владелец имеет полные права, группа может читать/входить, а остальные не имеют доступа.
Специальные биты разрешений
Linux также поддерживает расширенные разрешения:
- setuid (s) → запуск файла с привилегиями владельца.
- setgid (s) → запуск файла с привилегиями группы.
- sticky bit (t) → в каталогах только владелец файла может удалять свои файлы (обычно в каталоге /tmp).
Пример:
Буква t в конце означает липкий бит.
Краткая справочная таблица
Символика | Числовой | Значение (Файл) | Значение (Каталог) |
---|---|---|---|
— | 0 | Нет доступа | Нет доступа |
–x | 1 | Выполнить | Введите |
-w- | 2 | Запись | Создать/удалить (с помощью x) |
-wx | 3 | Запись + выполнение | Изменение + ввод |
r– | 4 | Чтение | Имена в списке (с x) |
r-x | 5 | Чтение + выполнение | Список + ввод |
rw- | 6 | Чтение + запись | Просмотр + изменение содержимого |
rwx | 7 | Полный доступ | Полный контроль |
Примеры, которые вы часто встречаете
- -rw-r–r– (0644) → владелец может читать/писать; остальные могут только читать.
- -rwxr-xr-x (0755) → владелец может делать все; другие могут запускать, но не изменять.
- drwxrwxrwt (1777) → папка с правом записи в мир с липким битом (как /tmp).
Заключение
Чтобы проверить права доступа к файлам в Linux:
- Используйте ls -l для быстрого просмотра.
- Для получения подробной информации используйте stat.
- Научитесь читать как символьные (rwx), так и числовые (755, 644) обозначения.
- Помните, что каталоги подчиняются тем же правилам, но интерпретируют x по-разному.
Как только вы поймете эти основы, права доступа станут мощной и легко читаемой частью безопасности Linux.