URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 1987
[ Назад ]

Исходное сообщение
"Выполнение скриптов perl из /tmp"

Отправлено SG , 22-Мрт-05 14:06 
Бодрого всем времени суток!
Скажите, пожалуйста, возможно ли запретить выполнение перловых скриптов из /tmp? Ситуация следующая, имеются хостинговые сервера, на них периодически появляются дырявые скрипты, через которые разные нехорошие люди заливают всякую гадость, в том числе и на перле. /tmp смонтирован с опцией noexec, поэтому бинарники из него не запускаются, но вот скрипты на перле аж бегом. Собственно, вопрос, возможно ли запретить перлу выполнять такие скрипты, располагающиеся в /tmp, при этом чтоб все остальные пользовательские cgi-ники он мог выполнять как обычно?
Заранее благодарен за ответ,
с ув. Сергей

Содержание

Сообщения в этом обсуждении
"Выполнение скриптов perl из /tmp"
Отправлено allez , 22-Мрт-05 14:35 
Можно сделать, например, так: переименовать сам бинарник perl и создать с
этим именем так называемый wrapper script, дав на него права 711 и уже из
этого скрипта отсеивать исходники, находящиеся в /tmp.

Что-то вроде этого:
==============================================
#!/bin/sh

[ "`pwd`" == "/tmp" ] && exit 13
[ "`echo $1 | grep '/tmp/'" != "" ] && exit 13

/real/path/to/perl $1
==============================================


"Выполнение скриптов perl из /tmp"
Отправлено SG , 22-Мрт-05 15:17 
>Можно сделать, например, так: переименовать сам бинарник perl и создать с
>этим именем так называемый wrapper script, дав на него права 711 и
>уже из
>этого скрипта отсеивать исходники, находящиеся в /tmp.
>
>Что-то вроде этого:
>==============================================
>#!/bin/sh
>
>[ "`pwd`" == "/tmp" ] && exit 13
>[ "`echo $1 | grep '/tmp/'" != "" ] && exit 13
>
>
>/real/path/to/perl $1
>==============================================

Да, действительно, подходящий вариант :)
Спасибо!

А еще какие способы есть?


"Выполнение скриптов perl из /tmp"
Отправлено asvserg , 23-Мрт-05 16:32 
правим /etc/fstab ставим опцию noexec

#Device      Mountpoint  FStype  Options     Dump  Pass#
/dev/ad0s1b      none          swap    sw          0     0
/dev/ad0s1a     /        ufs        rw          1     1  
/dev/ad0s1f     /tmp        ufs     rw,noexec      2     2
...
...


man mount
перемонтируем раздел или reboot


"Выполнение скриптов perl из /tmp"
Отправлено allez , 24-Мрт-05 06:32 
>правим /etc/fstab ставим опцию noexec
>
>...
>man mount
>перемонтируем раздел или reboot

Вы, похоже, не очень внимательно прочли сообщение автора темы:
>/tmp смонтирован с опцией noexec, поэтому бинарники из него не запускаются, но вот скрипты на перле аж бегом.



"Выполнение скриптов perl из /tmp"
Отправлено asvserg , 24-Мрт-05 11:14 
Упс, действительно...
Прошу прощения...



"Выполнение скриптов perl из /tmp"
Отправлено Dimm5 , 19-Апр-07 16:25 
>>Что-то вроде этого:
>>==============================================
>>#!/bin/sh
>>
>>[ "`pwd`" == "/tmp" ] && exit 13
>>[ "`echo $1 | grep '/tmp/'" != "" ] && exit 13
>>
>>
>>/real/path/to/perl $1
>>==============================================
>

Только вместо $1 нужно $*