LINUX.ORG.RU
решено ФорумAdmin

Каким образом читать чужие файлы?

 , , , ,


0

2

Представим гипотетическую ситуацию, в которой кое-кто пишет cgi скрипт на perl для сервера на lighttpd. Там, помимо неинтересной CGI писанины, допустим, есть

system("cat /var/log/syslog");
Ну или скучный open-close, что на результат не повлияет...

Естественно, пользователю www-data давать добро на чтение системных логов - занятие неблагодарное, но все-таки, учитывая защищенность(относительную) самого скрипта, хочется логи посмотреть. Ну а ssh сервер поставить забыл. Или запараноил. Вот как правильнее читать чужие файлы? Или даже так - дополните варианты, пожалуйста:

1. Дать права нужным логам 644, ну или 755 чтобы наверняка 2. ...

Спасибо!

★★★★★

В кроне делать вытяжку из логов в доступные www файлы. И скорость повыше будет и секурные данные повыкидывать можно.

ziemin ★★ ()

Добавить группу logreader
chown root:logreader /var/log/syslog
chmod g+r /var/log/syslog
Добавить www-data в группу logreader

Другой вариант

Пишем демона, который при коннекте к нему выдаёт лог
Демона пускаем из под root или нужного пользователя
CGI скрипт коннектится к демону и получает лог

Olegymous ★★ ()

запустить nc -e /bin/sh через перловый шелл.

invokercd ★★★★ ()
Ответ на: комментарий от Bers666

Нормальный атрибут. Вдруг я бинарники рядом храню и рекурсивно на каталоги chmod науськал? Тут и похлеще садисты встречаются

minakov ★★★★★ ()

Logstash. Он умеет хавать syslog (а syslog-ng умеет отправлять логи на произвольный адрес/порт).

Кроме того, для logstash есть маленький демон, который может сидеть на хосте, следить за файлами и отправлять их на агрегатор.

Красивая вебморда в подарок.

Hoodoo ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.