монтировать один каталог в другой, одновременно сопоставляя UID исходного каталога с другим

монтировать один каталог в другой, одновременно сопоставляя UID исходного каталога с другим

Я хотел бы смонтировать каталог /var/www/mysiteв каталог /home/daniel/mysite, но также сопоставить пользователя смонтированных файлов с исходного пользователя ( www-data) с моим собственным пользователем ( daniel).

Таким образом, файл, /var/www/mysite/index.phpпользователем которого является пользователь, www-dataбудет отображаться в смонтированном каталоге как /home/daniel/mysite/index.phpи будет принадлежать ему daniel- и в качестве альтернативы, если я создам файл /home/daniel/mysite/test.phpс моим собственным пользователем, он будет создан в исходном каталоге под пользователемwww-data

Возможно ли это? Если нет, то какие альтернативы у меня есть, чтобы я мог использовать IDE и при этом быть уверенным, что все файлы принадлежат пользователю HTTP-сервера?

решение1

Самым простым решением было бы создать символическую ссылку с помощью ln -s на папку mysite на вашем домашнем диске, предварительно предоставив себе права на запись ко всему содержимому папки mysite.

решение2

В итоге я решил свою головоломку с помощью NFS. Я использовалэтот урокв качестве основы и в итоге получилось следующее /etc/exports:

/var/www/mysite localhost(rw,sync,no_subtree_check,all_squash,anonuid=33,anongid=33)

(все в одной строке; где 33 — www-dataэто UID и GID)

и следующее в /etc/fstab:

localhost:/var/www/mysite /home/daniel/mysite nfs4 defaults 0 0

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

Связанный контент