bugaga0112358
@bugaga0112358

PoPToP(Webmin 1.580)+wtmp: не отображаются логины пользователей / Ubuntu Server 11.04?

Доброго времени суток, уважаемые.

Возникла такая проблема: webmin не отображает логины активных пользователей, подключенных к pptp-серверу.


При этом команда last эти самые логины отображает корректно, wtmp-лог ведется.


Конфиг pptp-сервера:
speed   115200
option  /etc/ppp/options.pptpd
bcrelay eth0
lock
debug
localip 192.168.202.1
remoteip 192.168.202.2-200
logwtmp


/etc/ppp/options.pptpd:
name pptpd
# Auth
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
nomppe-40
# Network
nodefaultroute
ms-dns 192.168.202.1
proxyarp
nobsdcomp


Может кто-то сталкивался с подобным?
  • Вопрос задан
  • 3560 просмотров
Решения вопроса 1
bugaga0112358
@bugaga0112358 Автор вопроса
В общем, решил запилить решение самостоятельно.

Наваял скриптик, позволяющий получить логин VPN-пользователя по названию интерфейса, который для него поднят.

#!/bin/bash
# $1 - interface name
# Task: get username by interface name
LOG=$(last | grep $1 | grep still | cut -f 1 -d ' ')
LOGIN=$(grep $LOG /etc/ppp/chap-secrets | cut -f 1 -d ' ')
LOGIN=${LOGIN//[\"]/}
echo $LOGIN


А далее немного модифицировал файл Webmin'а /usr/share/webmin/pptp-server/list_conns.cgi, добавив в цикл вывода таблицы подключений несколько своих строчек.

foreach $c (@conns) {
                # bugaga0112358 - Prepare command
                $cmd = 'listclient '.$c->[3];
                # bugaga0112358 - Execute command
                $c->[7] = `$cmd`;
                local @cols;
                push(@cols, "<a href='disc.cgi?pid=$c->[0]'>".
                            ($c->[3] ? "<tt>$c->[3]</tt>"
                                     : $text{'conns_unknown'})."</a>");
                push(@cols, $c->[2]);
                push(@cols, $c->[6] || $text{'conns_unknown'});
                push(@cols, $c->[4] ? "<tt>$c->[4]</tt>"
                                     : $text{'conns_unknown'});
                push(@cols, $c->[5] ? "<tt>$c->[5]</tt>"
                                     : $text{'conns_unknown'});
                push(@cols, $c->[7] ? "<tt>$c->[7]</tt>"
                                     : $text{'conns_unknown'});
                print &ui_columns_row(\@cols);
                }
        print &ui_columns_end();
        }


Результат удовлетворил начальство, а у меня остался небольшой осадок. Все-таки хочется узнать, как же оно там на самом деле должно работать =)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stealch
@Stealch
Админ, мотобродяга.
Замечательный метод. Работает на ура. Прошло уже 2 года, но в официальной версии webmin так ничего и не изменилось... к сожалению эта гадина опознает только РЕАЛЬНЫХ пользователей, имеющих учетные данные на вход в систему. С вашей поправкой эта проблема купируется на ура. Спасибо.
P.S. После обновления Webmin не забываем взять бубен и поправить list_conns.cgi снова =))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы