Просмотр и изменение прав доступа к файлам

Правила доступа к файлам и каталогам в Linux/Unix системах управляются с помощью системы прав, которая включает в себя права чтения (read), записи (write) и выполнения (execute). Эти права могут быть заданы для трех типов пользователей: владельца (owner), группы (group) и остальных пользователей (others).

Просмотр прав доступа к файлам

Для просмотра прав доступа к файлам и каталогам используйте команду ls с флагом -l:

ls -l filename

Пример вывода:

-rwxr-xr--

Здесь:

  • Первая буква (-) обозначает тип файла (например, - для обычного файла, d для директории).

  • Следующие три символа (rwx) — права для владельца файла:

    • r — право на чтение.

    • w — право на запись.

    • x — право на выполнение.

  • Следующие три символа (r-x) — права для группы:

    • r — право на чтение.

    • x — право на выполнение.

    • - — отсутствие права на запись.

  • Последние три символа (r--) — права для остальных пользователей:

    • r — право на чтение.

    • - — отсутствие прав на запись и выполнение.

Изменение прав доступа к файлам

Права доступа можно изменить с помощью команды chmod. Существуют два основных способа изменения прав доступа: числовой и символьный.

Числовой способ

Права доступа задаются в виде чисел. Каждое число соответствует определённому набору прав:

  • 4 — право на чтение (r).

  • 2 — право на запись (w).

  • 1 — право на выполнение (x).

Суммируя эти числа, можно задать нужные права. Например, чтобы дать полный доступ владельцу, право на чтение и выполнение группе и только право на чтение другим пользователям, используйте число 755:

chmod 755 filename

Символьный способ

Права можно задавать с использованием символов:

  • u — владелец (user).

  • g — группа (group).

  • o — другие (others).

  • a — все пользователи (all).

Операции с правами:

  • + — добавить права.

  • - — удалить права.

  • = — установить точные права.

Примеры:

  1. Добавить право на выполнение для владельца:

    chmod u+x filename
  2. Удалить право на запись для группы:

    chmod g-w filename
  3. Установить права чтения и выполнения для всех пользователей:

    chmod a+rx filename
  4. Установить права на чтение для владельца и группы, и убрать все права для остальных:

    chmod 664 filename

Изменение владельца и группы файла

Для изменения владельца и группы файла используйте команду chown:

Изменение владельца

chown new_owner filename

Изменение владельца и группы

chown new_owner:new_group filename

Изменение только группы

chown :new_group filename

Рекурсивное изменение прав и владельцев

Чтобы рекурсивно изменить права доступа или владельцев для всех файлов и каталогов в указанной директории, используйте флаги -R с командами chmod и chown:

Рекурсивное изменение прав доступа

chmod -R 755 directory/

Рекурсивное изменение владельца и группы

chown -R new_owner:new_group directory/

Заключение

Правильное управление правами доступа к файлам и каталогам — это важная часть системной безопасности и организации данных. Использование команд ls, chmod, и chown позволяет эффективно управлять доступом к файлам, обеспечивая как безопасность, так и удобство работы с системой.

Last updated