Большой Воронежский Форум
» UNIX и дериваты>SMS-гейт.
Hip-Hop 19:16 22.06.2011
Столкнулся с проблемой. Редактировал по ssh таблицу маршрутизации и потерял связь с машиной. Ну, удалил маршрут нужный. Нужно было вернуть всё на место. Давно знал эту замечательную статью - http://xgu.ru/wiki/Gnokii

Сделал тоже самое, но используя gammu-smsd.

Получилось так:

Код:
#!/bin/sh
inbox=/var/spool/gammu/inbox
sender=$inbox/*номер_отправителя*
smsgate()
{
if
[ -e $sender ]
then
cat $sender 2> /dev/dull | sh -s
rm $sender
fi
}
while :
do
smsgate
sleep 1
done
И могу чуть-чуть пояснить. gammud хранит входящие sms в $inbox. Когда в эту папку попадает sms-ка от отправителя с определённым в $sender номером, то её тело попадает к интерпретатору команд. (команда\команды выполняются). Sms-ка удаляется. Тело этой работы описано в функции. Функция вызывается в бесконечном цикле с определённым интервалом.

Imho, вещица очень полезная. Её можно использовать много как. И как резервный канал не использующий tcp\ip. [Ответ]
Hip-Hop 20:10 22.06.2011
Давайте добавим простую авторизацию. (телефоны с которых разрешено отправлять команды в интерпретатор)

Это будет так:


Код:
#!/bin/sh

inbox=/var/spool/gammu/inbox
smsgate()
{
for sender in `cat $inbox/sender.smsgate`
do
if
[ -e $sender ]
then
cat $sender 2> /dev/dull | sh -s
rm $sender
fi
done
}
while :
do
smsgate
sleep 1
done
В файле sender.smsgate перечисляем телефоны в формате - *телефон*.

'предопределить набор «быстрых» часто использующихся команд (функций), которые можно вызывать без длительного набора на клавиатуре телефона.'

это лучше сделать через aliases в .bashrc, imho, но тут есть ряд подводных камней. Или через оператор case в самом скрипте, но это уже сложней.

'проверять команду на вхождение в заранее предопределённое допустимое множество (исключающее потенциально опасные команды);'

Это не нужно, imho.

'проверять телефон отправителя на вхождение в предопределённый список авторизованных пользователей шлюза.'

В список они уже входят, но можно подпридумать ещё. Кстати, у многих щя sudo работает, да. [Ответ]
Xenon 18:21 23.06.2011
Hip-Hop, 21 год, а такой ерундой занимаешься. Может, тебе работу найти? [Ответ]
Hip-Hop 21:02 23.06.2011
Xenon, Оказывается занимаемся изобретением велосипедов. Посмотрел тут http://wammu.eu/docs/manual/smsd/run.html [Ответ]
Xenon 18:19 24.06.2011
Hip-Hop, 21 год, а такой ерундой занимаешься. Может, тебе работу найти? [Ответ]
Nosferato 18:00 28.06.2011
Проще использовать крон. [Ответ]
Вверх