+ Responder ao Tópico



  1. #1
    Cyberfred
    Visitante

    Padrão Usuário poder logar apenas uma vez no SAMBA

    Hello ALL,

    seguinte gostaria de saber se tem como restringir o usuário a logar apenas uma vez no servidor. Tipo quando o usuario de login X logar da makina Y no servidor, enquanto ele estiver logado, ninguem mais podera logar com o login X de qualquer outra makina.
    Alguém já fez isso ou já pensou em alguma solução???

    Obrigado.

  2. #2
    Ivanluiz
    Visitante

    Padrão Usuário poder logar apenas uma vez no SAMBA

    Eu também estou precisando fazer isso.
    Limitar o número de logins por usuários.
    Não quero que um usuário se log em uma estação e se log em outra ao mesmo tempo.
    Já estou tentando a um certo tempo isso com o samba e ainda não vi como fazer isso.
    Fico também no aguardo de uma resposta.
    Ivan

  3. #3
    Cyberfred
    Visitante

    Padrão Usuário poder logar apenas uma vez no SAMBA

    Há muito tempo postei esta dúvida aki, como consegui, em partes, solucionar este problema estou enviando a solução, que ainda estou utilizando em testes. Se tudo ficar OK, pretendo escrever um tutorial a respeito, conto com a ajuda do pessoal aki para melhorar a solução:

    O q eu fiz foi o seguinte:

    1. Em um mapeamento comum a todos usuários coloquei da seguinte forma:
    [homes]
    comment = Diretorio HOME
    volume = home
    browseable = no
    writable = yes
    root preexec = /opt/scripts/smblogin.sh %u %I
    root postexec = /opt/scripts/smblogout.sh %u %I %d

    2. Os scripts:
    #!/bin/bash
    #
    # Bloqueia o usuario no smbpasswd para que este nao possa efetuar logon de
    # outra maquina
    #
    # Forma de uso:
    # smblogin.sh <username> <IP da maquina respeciva ao username>
    #
    SMBSTATUS="/opt/samba/bin/smbstatus -s /etc/samba/smb.conf"
    SMBPASSWD="/opt/samba/bin/smbpasswd -c /etc/samba/smb.conf"
    USRLOCKDIR="/etc/samba/usrlock"

    if [ ! $1 ]; then
    exit 1
    fi
    if [ ! $2 ]; then
    exit 1
    fi
    if [ -f $USRLOCKDIR/$1 ]; then
    exit 0
    fi
    echo -e "IP:$2\nLOGON:$(date +%s)" > $USRLOCKDIR/$1
    $SMBPASSWD -d $1

    #!/bin/bash
    #
    # Apaga o arquivo gerado pelo smblogin.sh e libera o usuario para autenticar-se
    # no Samba
    #
    # Forma de uso:
    # smblogout.sh <username> <IP> <PID>

    SMBSTATUS="/opt/samba/bin/smbstatus -s /etc/samba/smb.conf "
    SMBPASSWD="/opt/samba/bin/smbpasswd -c /etc/samba/smb.conf"
    USRLOCKDIR="/etc/samba/usrlock"
    KILL="/bin/kill"

    if [ ! $1 ]; then
    exit 1
    fi
    if [ ! $2 ]; then
    exit 1
    fi
    if [ ! $3 ]; then
    exit 1
    fi
    if [ -f $USRLOCKDIR/$1 ]; then
    $SMBPASSWD -e $1
    $KILL -9 $3
    rm $USRLOCKDIR/$1
    else
    exit 0
    fi

    Funciona legal. Gostaria q se alguém utilizou, melhorou, gostou da solução, me desse um feedback.
    Qualquer dúvida, tamo ae.

    Falows