Введение
Грамотное распределение прав собственности на файлы и директории — краеугольный камень безопасности в дистрибутивах Linux и Ubuntu. Неправильно назначенный владелец может привести к сбоям в работе сервисов или создать уязвимость в защите данных. Ниже мы детально разберем реальные сценарии использования команды chown: от базовой смены пользователя до одновременной перенастройки групп, рекурсивного применения параметров (-R) и клонирования атрибутов по эталонному файлу.
1. Базовое переназначение владельца отдельного файла
Для наглядности создадим пустой тестовый объект и оценим его текущие метаданные с помощью связки touch test_file.txt && ls -l test_file.txt. По умолчанию создателем и владельцем будет суперпользователь (root).

Ключевое назначение утилиты chown (сокращение от change owner) — смена учетной записи владельца, а также ассоциированной группы для целевого узла файловой системы.
Чтобы передать права на наш файл пользователю nobody, выполним вызов с повышенными привилегиями: sudo chown nobody test_file.txt.
⚙️ [Полезные флаги командной строки]
-R : производит рекурсивную обработку дерева каталогов, обновляя все вложенные папки и файлы.-v : активирует подробный вывод, сообщая в консоль о каждом модифицированном объекте.-c : выводит отчет исключительно по тем элементам, у которых реально изменились параметры владения.-f : подавляет вывод большинства сервисных сообщений и предупреждений об ошибках.--reference : копирует связку «пользователь-группа» из указанного образца и проецирует ее на целевой файл.

Убедимся в успешности операции повторным запросом ls -l test_file.txt: в выводе видно, что учетная запись root уступила место nobody.

2. Комплексная смена пользователя и группы в одну команду
Смоделируем типовую задачу веб-сервера. Создадим конфигурационный файл командой touch web_config.conf && ls -l web_config.conf и зафиксируем исходное владение со стороны учетной записи root.

Чтобы разом актуализировать и владельца, и рабочую группу, воспользуемся синтаксисом с двоеточием: sudo chown www-data:www-data web_config.conf.
Такой разделитель (:) избавляет от необходимости запускать дополнительные утилиты вроде chgrp, позволяя мгновенно подготовить окружение под Nginx или Apache.

Сверим текущее состояние файла через ls -l web_config.conf.
В столбцах пользователя и группы теперь корректно отображается www-data, что подтверждает применение настроек.

3. Рекурсивное применение прав к каталогам и вложенным файлам (-R)
Когда требуется обновить права на целый проект, ручная обработка каждого файла исключена. Сформируем иерархическую структуру директорий для теста: mkdir -p /tmp/project_dir/sub && touch /tmp/project_dir/file1.txt /tmp/project_dir/sub/file2.txt.

Проинспектируем созданную структуру до внесения изменений при помощи ls -lR /tmp/project_dir.
Как видно из листинга, корневой каталог и все вложенные элементы жестко привязаны к суперпользователю root.

Для пакетного обновления прав по всей глубине дерева задействуем аргумент -R: sudo chown -R nobody:nogroup /tmp/project_dir.
Флаг -R заставляет утилиту последовательно обойти все ветви каталога, применяя пару nobody:nogroup ко всем дочерним узлам без исключения.

Проверим итоговый результат выполнения с помощью ls -lR /tmp/project_dir.
Изменения успешно затронули как верхний уровень (file1.txt), так и подкаталог sub вместе с находящимся внутри file2.txt.

4. Дублирование прав на основе файла-образца (–reference)
В реальном администрировании часто требуется назначить файлу точно такие же права, как у существующего компонента системы. Создадим два независимых объекта: touch source_file.txt target_file.txt.

Назначим первому файлу эталонные атрибуты через sudo chown daemon:daemon source_file.txt.

Сравним атрибуты обоих объектов вызовом ls -l source_file.txt target_file.txt.
Картина наглядна: source_file.txt принадлежит сервисной учетной записи daemon:daemon, а target_file.txt пока закреплен за root:root.

Скопируем параметры владения без ручного ввода имен учетных записей: sudo chown --reference=source_file.txt target_file.txt.
Параметр --reference автоматически считывает UID и GID эталона и зеркально транслирует их на целевой путь, сводя к нулю риск опечатки.

Выполним финальный контроль через ls -l source_file.txt target_file.txt.
Целевой файл target_file.txt полностью унаследовал конфигурацию daemon:daemon от эталона.

Мы рассмотрели фундаментальные приемы работы с правами владения файлами в Linux и ключевые возможности инструмента chown.
Грамотное управление учетными записями и группами позволяет выстроить надежный барьер безопасности и поддерживать стабильность серверной инфраструктуры.