Права доступа к файлам: chmod и chown
У каждого файла и каталога в 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 работают рекурсивно для всего дерева каталогов.
Как исправить права доступа к веб-папке
- Проверьте текущее состояние:
ls -l /var/www/site - Установите владельца:
sudo chown -R www-data:www-data /var/www/site - Установите права 755 для каталогов:
sudo find /var/www/site -type d -exec chmod 755 {} + - Установите права 644 для файлов:
sudo find /var/www/site -type f -exec chmod 644 {} +
Осторожно
- Никогда не используйте
chmod -R 777: это позволяет любому пользователю и процессу изменять файлы. - Рекурсивное применение chmod или chown к неверному пути, например / или
/usr, может привести к поломке системы.
Связанные статьи
- SSH-ключиКак работает аутентификация по SSH-ключу, как создать ключ с помощью ssh-keygen, установить его на сервер и защитить.
- Поиск больших и старых файлов с помощью findКак использовать find для вывода списка больших или старых файлов в Linux, их безопасного предварительного просмотра и удаления только проверенных данных.
- /tmp и временные файлыДля чего нужны /tmp и /var/tmp, когда Linux очищает их и как systemd-tmpfiles управляет сроками хранения файлов.
Источники
- chmod(1) страница руководства man7.org
- chown(1) страница руководства man7.org
Последняя проверка: