Монтирование локального каталога со сменой владельца

Оцените статью

А зачем такое извращение вообще надо? Наверное спросите вы, а вот например для того, чтобы от имени пользователя работать с виртуальными хостами Nginx и писать и читать от имени пользователя с правами владельца этого виртуального хоста.

Хотя такое извращение можно сделать и при помощи ACL, вот такой метод проще и надежнее.

Итак, как я уже писал в заметке Установка WordPress в Bare Metal Ubuntu 24.04 LTS я настроил локальное окружение идентичное натуральному и теперь мне хотелось бы с ним работать, а точнее добавить его в Visual Studio Code, но как вы понимаете владельцем файлов является пресловутый www-data, а не я и мне туда в лучшем случае дадут посмотреть даже если я себя в эту группу добавлю. Есть такие нюансы в этих ваших Linux-ах и посему мы пойдем другим путем.

Создаем каталог в котором будем вести разработку и у меня он будет вот такой интересный.

$ mkdir -p /home/chernousov/Development/INTERLAN/cv-blog

И вот теперь надо сделать интересный финт ушами чтобы у меня в каталоге для разработки все файлы которые лежат в виртуальном хосте Nginx и принадлежат пользователю www-data отображались и редактировались моим локальным пользователем, а при создании и сохранении становились как созданные и отредактированные от имени www-data. Интересная загогулина вырисовывается, но на самом деле все очень просто.

Нам понадобится утилита bindfs.

# aptitude install bindfs

И добавить в /etc/fstab вот такое хитрое заклинание.

bindfs#/var/www/vhosts/stage-blog.anton-c.ru/ /home/chernousov/Development/INTERLAN/cv-blog/ fuse force-user=chernousov,force-group=chernousov 0 0

Проверяем, что мы теперь как будто владелец этих файлов.

$ ls -lua /home/chernousov/Development/INTERLAN/cv-blog/
total 252
drwxr-xr-x  5 chernousov chernousov  4096 янв 10 05:53 .
drwxrwxr-x  4 chernousov chernousov  4096 янв 10 11:34 ..
-rw-r--r--  1 chernousov chernousov   372 янв  7 10:52 .htaccess
-rw-r--r--  1 chernousov chernousov   405 янв  7 10:52 index.php
-rw-r--r--  1 chernousov chernousov 19915 янв  7 10:52 license.txt
-rw-r--r--  1 chernousov chernousov  7409 янв 10 05:53 readme.html
.....

Казалось бы, что теперь все нормально, но как вы видите есть нюанс и при создании файла в каталоге назначения его владельцем становлюсь я сам, а не www-data.

$ echo > /home/chernousov/Development/INTERLAN/cv-blog/test.txt
$ ls -lua /var/www/vhosts/stage-blog.anton-c.ru/ | grep test.txt
-rw-rw-r--  1 chernousov chernousov     1 янв 10 12:06 test.txt

Это нас категорически не устраивает и мы усложним заклинание.

bindfs#/var/www/vhosts/stage-blog.anton-c.ru/ /home/chernousov/Development/INTERLAN/cv-blog/ fuse force-user=chernousov,force-group=chernousov,create-for-user=www-data,create-for-group=www-data 0 0

Вот теперь все правильно.

$ ls -lua /var/www/vhosts/stage-blog.anton-c.ru/ | grep test.txt
-rw-rw-r--  1 www-data www-data     1 янв 10 12:47 test.txt

Похожие записи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования