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

    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();
            }
    


    Результат удовлетворил начальство, а у меня остался небольшой осадок. Все-таки хочется узнать, как же оно там на самом деле должно работать =)
    Ответ написан