ГлавнаяОперационные системыLinuxКак рекурсивно изменить права доступа к файлам в Linux

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

Поскольку Linux — многопользовательская операционная система, в ней имеется механизм, который устанавливает и управляет разрешениями для файлов, гарантируя, что только авторизованные процессы и пользователи смогут получить доступ к различным каталогам и файлам. Когда вы используете Linux, вы можете столкнуться с различными случаями, когда вы не можете редактировать файлы или каталоги из-за ошибки «Отказано в разрешении», указывающей на то, что у вас нет необходимых привилегий. Из этого туториала вы узнаете, как рекурсивно изменить права доступа к файлам в Linux, чтобы настройки разрешений применялись к подпапкам и файлам.

Как проверить права доступа к файлам в Linux

При возникновении ошибки «отказано в доступе» к файлу или операции с каталогом начните с проверки выделенных разрешений для пользователя, группы и других пользователей.

Для этого вы можете использовать команду ls -l. Например, ниже приведены разрешения для различных файлов и каталогов в каталоге «/var».

Лс Л

Вывод выше содержит

Как проверить права доступа к файлам в Linux

толбец представляет права доступа к файлам и каталогам. Первая буква в этом столбце указывает тип: dозначает каталог, lобозначает символическую ссылку и -— обычный файл.
  • Остальные девять символов сгруппированы в три набора: uпользователь, gгруппа и oвладелец обозначают права доступа к файлу или каталогу. rуказывает разрешения на «чтение», wуказывает разрешения на «запись» и Xуказывает разрешения на «выполнение».
  • Лс Ла Хайлайт

    Как только вы узнаете права доступа к вашему рабочему каталогу или файлу, вы сможете легко их изменить.

    Как использовать chmod для изменения прав доступа к файлу

    Команда chmod— это самый простой способ изменить права доступа к файлам в Linux. Общий синтаксис команды:

    chmod {permission}{operator}{mode}
    • Разрешения: представляют собой разрешения, предоставленные пользователю, группе, владельцу или всем.
    • Оператор: указывает разрешения, предоставленные правопреемнику: +предоставляет разрешение, -запрещает разрешения, а =указывает, какие разрешения установить..
    • Режим: определяет, какие разрешения установить: rна чтение, wна запись или xна выполнение.

    Для получения дополнительной информации о chmodи о том, как он работает, ознакомьтесь с этой статьей .

    Например, чтобы запретить всем доступ на запись в каталог резервных копий в каталоге «/var», вы можете использовать команду:

     sudo chmod -w /var/backups

    Хотя изменение разрешений файла с помощью команды chmodэффективно, оно изменяет разрешен

    Как использовать chmod для изменения прав доступа к файлу

    можете рекурсивно изменять права доступа к каталогу или файлу, а также его подкаталогам и файлам. Для этого используйте рекурсивную опцию -rкоманды chmod.

    Например, давайте рекурсивно удалим разрешения readдля каталога «/var/backup» и всех его файлов и подкаталогов. Текущие разрешения:

    drwxrwxrwx  2 root root   4096 Jul 15 06:25 backups

    Теперь давайте рекурсивно запустим chmod, чтобы изменить разрешения:

    sudo chmod -r -r /var/backups

    Теперь вы можете видеть, что права доступа к файлу изменились.

    Chmod Удалить разрешение 1

    Разрешение на рекурсивное изменение с помощью find

    Обычно вы не устанавливаете файлы и каталоги с одинаковыми разрешениями. Это связано с тем, что вам нужно разрешение на выполнение, чтобы cdвойти в определенный каталог. Однако большинству файлов это разрешение на выполнение не требуется.

    Чтобы решить эту проблему, вы можете использовать утилиту findв Linux. Это позволяет вам находить только определенные файлы или каталоги и устанавливать для них разрешения.

    Дополнительную информацию об использовании Find в Linux см. в ознакомьтесь с этой статьей .

    Возьмем каталог «/var/log». Каталог содержит как файлы, так и каталоги.

    Каталоги файлов журналов Var

    Чтобы установить определенные разрешения только для файлов, мы можем использовать команду find с опцией -type f.

    См. пример команды ниже:

    sudo find /var/log/ -type f -exec chmod 777 {} ;

    В приведенном выше примере мы использовали команду find для поиска файлов в каталоге «/var/log», а затем установили разрешения на чтение, запись и выполнение для пользователей, групп и всех остальных.

    Мы можем сделать то же самое и для каталогов. В данном случае мы указываем -type d , чтобы получать только каталоги.

    Например:

    sudo find /var/log/ -type d -exec chmod 755 {} ;

    В приведенном выше примере мы устанавливаем разрешение 755 только для каталогов, а не для файлов и каталогов.

    Вы можете проверить это с помощью команды ls -la.

    Chmod с поиском проверки

    Вы заметите, что все файлы имеют разрешение 777, а каталоги — 755.

    В заключении

    Знание того, как изменить права доступа к файлам в Linux, является важным навыком, поскольку помогает предотвратить несанкционированный доступ и изменение ра

    Разрешение на рекурсивное изменение с помощью find

    href="https://saintist.ru/2021/06/25/ispolzuyte-komandu-chown-v-linux/" title="изменить владельца файла">изменить владельца файла ограничить доступ к файлам или использовать список контроля доступа утра для еще более точного контроля прав доступа к файлам в Linux.

    В заключении

    ПОХОЖИЕ СТАТЬИ

    Популярные записи