Команда chown в Linux изменяет владельца и группу файлов или папок. Это основной инструмент для управления правами доступа и безопасностью на сервере. Синтаксис команды: chown владелец:группа путь_к_файлу.
Зачем это нужно
- Переназначить владельца файла после перемещения или копирования данных
- Выдать права доступа новому пользователю или сервисному аккаунту
- Восстановить правильные permissions после системного сбоя или обновления
- Настроить доступ для веб-приложений (например, передать файлы пользователю www-data)
- Защитить критичные файлы, ограничив доступ только определённому владельцу
- Синхронизировать права доступа при миграции данных между серверами
Пошаговая инструкция
- Откройте терминал и подключитесь к серверу по SSH с правами администратора (root или пользователь с sudo)
- Выполните команду
ls -l путь_к_файлу, чтобы проверить текущего владельца и группу - Смените владельца файла:
sudo chown новый_владелец файл.txt - Смените владельца и группу одновременно:
sudo chown владелец:группа файл.txt - Смените владельца всех файлов в папке рекурсивно:
sudo chown -R владелец:группа /путь/к/папке - Проверьте результат командой
ls -l путь_к_файлу— должны отобразиться новые владелец и группа - Для файлов веб-приложения используйте:
sudo chown -R www-data:www-data /var/www/html/приложение - Убедитесь, что права доступа (chmod) также настроены корректно:
sudo chmod 755 /путь/к/папке
Часто задаваемые вопросы
Что означает флаг -R в команде chown? Флаг -R применяет изменения рекурсивно ко всем файлам и подпапкам внутри указанной директории.
Как узнать имя группы для команды chown? Выполните команду groups имя_пользователя или посмотрите файл /etc/group командой cat /etc/group.
Можно ли вернуть старого владельца файла? Да, выполните sudo chown старый_владелец:старая_группа файл.txt, если вы помните, кто был владельцем раньше.