chmod

Основы команды chmod в Linux

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

Синтаксис команды выглядит следующим образом:

Bash
chmod [опции] права файл

Где права можно задавать как символически, так и числовым способом.

Символический способ изменения прав

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

  • Пользователи:
    • u – владелец файла
    • g – группа
    • o – остальные пользователи
    • a – все (u+g+o)
  • Операции:
    • + – добавить разрешение
    • - – убрать разрешение
    • = – задать точные разрешения
  • Разрешения:
    • r – чтение
    • w – запись
    • x – выполнение

Пример использования:

Bash
chmod u+rwx,g+rx,o-r myfile.txt

В этом примере владелец получает полные права, группа – права на чтение и выполнение, остальные пользователи – удаляется право на чтение.

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

Числовой способ задания прав

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

  • Чтение (r) = 4
  • Запись (w) = 2
  • Выполнение (x) = 1

Суммируя значения, получаем цифру для каждой категории. Пример:

Bash
chmod 754 script.sh

Расшифровка:

  • Владелец: 7 (4+2+1) – полный доступ
  • Группа: 5 (4+1) – чтение и выполнение
  • Остальные: 4 – только чтение
Совет: Числовой способ удобен для быстрого изменения прав сразу для всех категорий пользователей, особенно при настройке серверных скриптов.

Полезные опции команды chmod

Команда chmod в Linux поддерживает дополнительные опции для более гибкого управления:

  • -R – рекурсивное изменение прав в каталогах
Bash
chmod -R 755 /var/www/html
  • --reference=файл – скопировать права с указанного файла
Bash
chmod --reference=template.txt newfile.txt
  • -v – вывод подробной информации о изменениях

Эти опции позволяют автоматизировать управление доступом и быстро применять одинаковые права к множеству файлов.

Примеры практического использования

Ограничение доступа к конфиденциальному файлу:

    Bash
    chmod 600 secret.txt
    

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

    Создание исполняемого скрипта:

      Bash
      chmod +x backup.sh
      

      Файл становится исполняемым для владельца и других пользователей, в зависимости от текущих настроек.

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

        Bash
        chmod -R 755 /home/user/project
        

        Все файлы и подкаталоги получают права на чтение и выполнение, владелец – полный доступ.

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