
drewhka
MugglesCommunity Reputation
0 ОбычныйAbout drewhka
-
Rank
Пролетал Мимо
-
Скрипт получения одного из параметров пользователя по его логину (в данном случае - группа) из Firebird . Используется bash, fbsql и awk. tmpfile=`mktemp` outfile=`mktemp` echo "select grp from tb_users where name='$LOGIN';" > $tmpfile fbsql -u sysdba -p masterkey /var/lib/firebird/databases/stargazer.fdb -i $tmpfile -o $outfile group=`awk 'NR==4{gsub(/^[ \t]+|[ \t]+$/,"");printf "%s",$0}' $outfile` rm -f $tmpfile $outfile В частности, кусок кода awk 'NR==4{gsub(/^[ \t]+|[ \t]+$/,"");printf "%s",$0}' $outfile оставляет только 4-ю строку результата запроса fbsql, убирает лишни
-
Onchange - как проверить авторизован пользователь или нет?
drewhka replied to drewhka's topic in Stargazer questions
Т.е. как я понял, иного метода (если не брать случай правки исходников Stargazer), как управление флагом ВКЛ/ВЫКЛ через OnConnect/OnDisconnect путём записи в тот или иной носитель (файл, таблица mysql, таблицы ipfw или ipset, и т.д.) нет? Просто тогда смысл заморачиваться ещё на один флаг, если ip авторизованного пользователя уже есть в ipset (остаётся только связать login/ip)... -
Onchange - как проверить авторизован пользователь или нет?
drewhka replied to drewhka's topic in Stargazer questions
Было бы неплохо =) Или хотя бы написать из каких таблиц и полей брать эту инфу. Ну как бы когда база была на файлах там было понятно - фигачить всё в файлы, включая эту задачу. Идеология так сказать =) -
Onchange - как проверить авторизован пользователь или нет?
drewhka replied to drewhka's topic in Stargazer questions
Эмм, ну как-нибудь поизящней чтоли. Ушёл уже от файловой БД юзверей, опять к этому возвращаться ?) Неужели ни у кого не возникало такой задачи - выяснить в скрипте OnChange - авторизован сейчас пользователь или нет? -
Onchange - как проверить авторизован пользователь или нет?
drewhka replied to drewhka's topic in Stargazer questions
Жёстко =) А через mysql или sgconf? -
Stargazer 2.406-rc1, Linux, MySQL, iptables на основе ipset/mark/connmark. Иногда требуется сменить группу (group) пользователю, в ней прописывается канал (аплинк) по которому он работает. Когда он offline - всё норм (т.е. делать в OnChange вообще ничего не надо). Когда online - надо сносить все соединения, убирать из старой группы (ipset -D group1 <ip>) и переносить в другую. Вся проблема как определить авторизован ли он Stargazer'ом в данный момент или нет. Сейчас приходится его насильно выключать, менять группу и врубать обратно, что как бы палевно =)
-
Скрипты Onconnect, Ondisconnect для базы Mysql
drewhka replied to masters's topic in Stargazer questions
Вот, например, как получать группу юзвера из базы мускуля (предполагается, что база доступна по адресу 127.0.0.1, имя пользователя в базе stg_user, его пароль stg_passw, сама база называется stg_db: #!/bin/sh LOGIN=$1 group=`mysql --user='stg_user' --password='stg_passw' --skip-column-names --execute="select stggroup from users where login='$LOGIN' limit 1" stg_db | tr -d '\012'` По-аналогии можно вытащить и остальные параметры (смотреть структуру базы в руководстве).