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

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

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. Перейти

Как работает система прав в Linux

Прежде чем приступать к использованию chmod, важно понять структуру прав доступа. В Linux существует три категории пользователей:

  • Владелец файла (user)
  • Группа (group)
  • Остальные пользователи (others)

Для каждой из этих категорий можно установить три типа разрешений:

  • Чтение (read, r)
  • Запись (write, w)
  • Выполнение (execute, x)

Чтобы просмотреть текущие права, используется команда ls -l. Результат будет выглядеть так:

-rwxr-xr-x

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

  • Первый символ (-) указывает на тип объекта (файл или директория).
  • Следующие три символа (rwx) — права владельца.
  • Три следующих (r-x) — права группы.
  • Последние три (r-x) — права остальных пользователей.

Понимание этой логики делает управление сервером интуитивно понятным.

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

chmod (change mode) — инструмент для изменения прав на файлы и каталоги. На виртуальном сервере VPS/VDS эта команда используется постоянно: при развертывании сайтов, настройке скриптов или ограничении доступа к конфиденциальным данным.

Числовой формат

Наиболее распространенный способ задания прав — числовой (октальный) формат. Например:

chmod 755 file.sh

Здесь каждая цифра отвечает за свою категорию:

  • 7 (владелец): чтение + запись + выполнение (4+2+1)
  • 5 (группа): чтение + выполнение (4+1)
  • 5 (остальные): чтение + выполнение

Стандартные значения, которые чаще всего применяются на практике:

  • 755 — для директорий и исполняемых скриптов.
  • 644 — для обычных файлов (текст, изображения, конфигурации).

Символьный формат и рекурсивность

Чтобы сделать файл исполняемым, можно использовать упрощенную запись:

chmod +x script.sh

Если требуется применить права ко всем вложенным элементам папки, используется рекурсивный режим (-R):

chmod -R 755 /var/www/site

Это критически важно при настройке веб-окружения, чтобы все файлы внутри директории получили корректные разрешения.

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. Перейти

Команда chown: изменение владельца в Linux

chown (change owner) позволяет передать права на файл другому пользователю или группе. Это особенно актуально на сервере, где веб-сервер (например, Nginx или Apache) обычно работает от имени пользователя www-data. Если файлы принадлежат другому владельцу, сервер может не иметь к ним доступа.

Синтаксис

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

chown www-data:www-data index.php
  • Первая часть (www-data) — имя пользователя.
  • Вторая часть (www-data) — имя группы.

Чтобы рекурсивно изменить владельца для всего сайта:

chown -R www-data:www-data /var/www/site

Эта операция стандартна после переноса или загрузки файлов проекта на VPS.

Совместное использование команд Chown и Chmod на Linux

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

Базовая настройка для рабочего сайта:

# 1. Назначаем владельца
chown -R www-data:www-data /var/www/site
# 2. Выставляем права
chmod -R 755 /var/www/site

После выполнения этих команд веб-сервер получает корректный доступ к файлам.

Типичные ошибки Linux-администраторов и их предотвращение

  1. Использование chmod 777. Это режим, дающий полный доступ всем. Он создает серьезные уязвимости. Допустимо использовать его лишь временно, в тестовых целях, но не на боевых серверах.
  2. Неправильный владелец. Если файлы принадлежат root, а сервер работает от www-data, сайт, скорее всего, выдаст ошибку доступа (403 Forbidden) или не сможет записывать кэш/файлы сессий.
  3. Игнорирование рекурсивности.Изменение прав только на родительскую папку без флага -R оставляет вложенные файлы с прежними (часто некорректными) настройками.

Практический пример: настройка сайта

Допустим, проект был загружен на сервер. Для корректной работы выполните следующие действия в папке сайта:

cd /var/www/site
# Смена владельца на пользователя веб-сервера
chown -R www-data:www-data .
# Рекурсивная установка прав:
# Для всех папок — 755
find . -type d -exec chmod 755 {} \;
# Для всех файлов — 644
find . -type f -exec chmod 644 {} \;

Проверить результат можно с помощью команды:

ls -l

В выводе отобразятся актуальные владельцы и маски прав для каждого элемента.

Вывод

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

  • chmod управляет действиями, которые можно совершать с файлом (чтение, запись, запуск).
  • chown определяет, кому принадлежит файл.

Освоив эти инструменты и запомнив принцип «правильный владелец + корректные права», вы сможете обеспечить стабильную и безопасную работу вашего виртуального сервера VPS/VDS.

Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. Перейти