Редактирование содержимого целевого местоположения жесткой или программной ссылки с помощью PHP

Я знаю, что это угроза безопасности и это плохо с точки зрения безопасности в целом, но по определенной причине мне нужно, чтобы это работало. У меня есть программа, работающая на Ubuntu 16.04. Скажем для этого примера, что это DNS-сервер или что-то в этом роде.

Что я пытаюсь сделать, так это отредактировать файл конфигурации DNS-сервера, расположенный в /etc/xxx с веб-страницы, которая использует PHP fopen, fwrite и fclose. Поскольку вы все равно не можете получить доступ к файлу, непосредственно расположенному в /etc/xxx/somecfg.cfg, поскольку он не имеет разрешений www-data, я попытался связать его с /var/www/html, как программно, так и жестко. связывая это. Когда я создаю жесткую ссылку, он также изменяет исходный файл cfg, если я редактирую его вручную, но как только я редактирую его через PHP, изменяется только файл жесткой ссылки, но не исходный файл.

Я пытался исправить это в течение выходных, но я не могу это сделать.

У кого-нибудь есть идея, как я могу это исправить? Я открыт и для других идей. Основная цель — отредактировать файл конфигурации пакета с веб-страницы.

TL;DR: я пытаюсь отредактировать файл конфигурации в /etc/xxx из /var/www/html/someaction.php, и сделать это напрямую не получается (очевидно), но жесткие и программные ссылки ведут себя странно. - содержимое ссылок меняется, а исходный файл cfg - нет.

Спасибо!


person Thunderzzu    schedule 09.04.2018    source источник
comment
Ответ на ваш вопрос заключается в установке правильных разрешений для пользователя, с которым вы хотите редактировать файлы, или в установке разрешения для редактируемого файла. Ссылки не позволяют обойти это. Исходный файл не будет иметь права на обновление после редактирования ссылки.   -  person nrm    schedule 09.04.2018
comment
@nrm Исходный файл имеет соответствующие разрешения, но я установил разрешения жесткой ссылки на www-data:www-data, чтобы его можно было редактировать. Он правильно редактирует файл, но изменения не отображаются в целевом местоположении жесткой ссылки.   -  person Thunderzzu    schedule 09.04.2018


Ответы (1)


Проблема заключалась в том, что я случайно поставил unlink в начале кода, а жесткая ссылка была удалена, поэтому я в основном создавал новый файл каждый раз, когда писал в него.

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

person Thunderzzu    schedule 09.04.2018