Как предоставить скрипту PHP доступ для чтения и записи файлов журнала в /var/log/
и /var/
каталоги?
Я хотел бы отметить, что предоставление доступа на запись к /var/log/
это плохая идея. Доступ для записи в /var/log/
означает, что злоумышленник может перезаписать любой из ваших журналов, что сделает невозможным отслеживание атаки на ваш сервер. Если вы хотите войти в систему с PHP, либо создайте единственный каталог только для журнала вашего PHP скрипта (скажем, /var/log/php/
) и предоставьте ему доступ для записи или используйте syslog () и связанные функции писать в стандартные системные журналы.
Для доступа для чтения вам необходимо определить, что создает файлы журналов, и убедиться, что они созданы с разрешениями, которые позволяют пользователю PHP читать их. Вы можете изменить их вручную, но при следующем ротации журналов и создании новых файлов журналов вам, вероятно, придется изменить их снова.
Узнайте, от имени какого пользователя запущен php, и измените соответствующие файлы / каталоги.
Быстрый и грязный способ узнать:
<?=exec('whoami');?>
Один из наиболее простых способов сделать это - убедиться, что у пользователя, запускающего сценарий PHP, есть необходимый доступ. Вы можете использовать chmod для изменения разрешений и chown / chgrp для смены владельцев по мере необходимости.