Попался сегодня один матерый линуксоид-извращенец, который не признает никаких виндовых сервисов. Соответственно самбы у него небыло, но стояла задача как передать ему файлик. Тут пришелся очень кстати вот такой bash скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#! /bin/bash :; while [ $? -eq 0 ] ; do nc -vlp 8080 -c '( read a b c z=read while [ ${#z} -gt 2 ] ; do read z done f=`echo $b|sed 's/[^a-z0-9_.-]//gi'` h="HTTP/1.0";o="$h 200 OK\r\n";c="Content" if [ -z $f ] ; then (echo $o ls -1|(while read n ; do if [ -f "$n" ] ; then echo "<a href=\"/$n\">`ls -gh "$n"`</a><br />" fi done); ); elif [ -f $f ] ; then echo "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`" echo cat $f else echo -e "$h 404 Not Found\n\n404\n" fi)' done |
Который создает временный http сервер на порту 8080 и делает листинг файлов
Как его запускать: находясь в папке, которую мы хотим открыть вызываем данный скрипт.
P.S. скрипт отрыт на просторах инета. Авторство неизвесно.
Заказать создание и поддержку безопасной IT-инфраструктуры любой сложностиБыть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|