
Я хотел бы смонтировать каталог /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
, но я могу создавать и редактировать файлы, как если бы они принадлежали моему пользователю.