Rain WikiWindows · Linux · Android

Права доступа к файлам: chmod и chown

Инструмент командной строкиВсе дистрибутивы Linux

У каждого файла и каталога в Linux есть владелец, группа и три набора прав: для владельца, для группы и для всех остальных. Команда chmod изменяет права доступа (режим), а chown — владельца и группу. Команда ls -l отображает и то, и другое.

1Чтение прав доступа

В выводе ls -l запись -rw-r--r-- означает обычный файл, который владелец может читать и изменять, а остальные — только читать. r — это чтение (read), w — запись (write), x — выполнение (execute); для каталога x означает возможность входа в него.

2Числовые режимы

Каждый набор прав представляет собой цифру: чтение равно 4, запись — 2, выполнение — 1; их сумма определяет итоговые права. 644 (rw-r--r--) — типично для файлов, 755 (rwxr-xr-x) — для каталогов и программ, а 600 (rw-------) — для личных файлов, таких как ключи SSH.

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

Команда sudo chown user:group file устанавливает владельца и группу. С флагом -R команды chmod и chown работают рекурсивно для всего дерева каталогов.

Как исправить права доступа к веб-папке

  1. Проверьте текущее состояние: ls -l /var/www/site
  2. Установите владельца: sudo chown -R www-data:www-data /var/www/site
  3. Установите права 755 для каталогов: sudo find /var/www/site -type d -exec chmod 755 {} +
  4. Установите права 644 для файлов: sudo find /var/www/site -type f -exec chmod 644 {} +

Осторожно

  • Никогда не используйте chmod -R 777: это позволяет любому пользователю и процессу изменять файлы.
  • Рекурсивное применение chmod или chown к неверному пути, например / или /usr, может привести к поломке системы.

Источники

  1. chmod(1) страница руководства man7.org
  2. chown(1) страница руководства man7.org

Последняя проверка: