Bloquear e desbloquear do disco USB (pendrive)

15

Existe algum programa para bloquear e desbloquear minha máquina Ubuntu usando uma unidade flash?

Por exemplo, quando retiro a unidade flash USB, o computador é bloqueado automaticamente e quando coloco a unidade flash, o computador é desbloqueado automaticamente.

Agradeço antecipadamente.

Prabin Dahal
fonte
2
Lembre-se de que a clonagem do stick USB é uma tarefa trivial, mesmo que você verifique o número de série.
Olli

Respostas:

10

Sei que é uma resposta terrivelmente tardia, apenas pensei que poderia ajudar futuros leitores. Postei a resposta em Travando com drive USB

Bem, um módulo chamado PAM (módulo de autenticação conectável) pode ser personalizado para atender sua necessidade. Um belo artigo está disponível no linuxconfig descrevendo isso em detalhes.

Os passos são:

  1. Instalar o PAM

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. Adicionar dispositivo USB à configuração do PAM

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. Selecione seu volume e " Y " para salvar

  4. Definir usuário para autenticação PAM

    $ sudo pamusb-conf --add-user <ubuntu-user>
    
  5. Selecione e " Y " para salvar

  6. Configurar PAM

    $ sudo gedit /etc/pam.d/common-auth
    
  7. Adicione a linha abaixo e salve

    auth    sufficient      pam_usb.so
    
  8. Teste a autenticação do PAM

    $ su ubuntu-user
    
  9. Bloquear quando desconectado

    $ sudo gedit /etc/pamusb.conf
    
  10. Modifique o bloco "user" para se parecer com:

    <user id="ubuntu-user"> 
          <device> 
                  my-usb-stick 
          </device> 
          <agent event="lock">gnome-screensaver-command -l</agent> 
          <agent event="unlock">gnome-screensaver-command -d</agent> 
     </user>*
    
Fr0zenFyr
fonte
6

Dentro

/etc/udev/rules.d/

você pode escrever um script

SUBSYSTEM=="usb", SYSFS{idProduct}=="PPPP", SYSFS{idVendor}=="VVVV", RUN+="/usr/sbin/usb-locking"

onde PPPP e VVVV são valores com os quais você pode extrair lsusb.

Todo produto idêntico corresponderá, mas o bloqueio por USB pode montar o dispositivo e procurar a própria unidade para obter mais legitimação - algum arquivo, algum bytecode, a data ...

É vulnerável se alguém tiver acesso ao manche, é claro.

O script pode analisar ainda mais a cada minuto, se o stick ainda está montado e travar, se não estiver.

Usuário desconhecido
fonte
2
Sua regra deve ter ACTION == add. Além disso, por que você procuraria a cada minuto se o bastão está lá? Basta acionar ACTION == remover e bloquear a tela sempre que o stick desaparecer. Você também deve adicionar o número de série do stick e o UUID da partição à regra.
Matthias Urlichs
3

Obrigado pela sua sugestão. Eu escrevi um script simples utilizando o comando lsusb e coloquei system -> preferências-> aplicativos de inicialização. O script é o seguinte ..

#! / bin / sh
# Script para bloquear e desbloquear automaticamente o computador quando meu pendrive USB é removido

LSUSB = `qual lsusb`

se [-z $ LSUSB]; então
    echo "Nenhum comando lsusb encontrado. saindo .. \ n"
    saída 56
fi


enquanto :
Faz
    dormir 3
    eco "Executando em loop"
    # Verifique a unidade USB

    USB = `lsusb | grep Logitech`

    if [-n "$ {USB}"]; então
        eco "Dispositivo USB: Transcend encontrado"
        # encontre e mate qualquer protetor de tela encontrado.
        gnome-screensaver-command --deactivate
        continuar
    fi

    # Dispositivo USB não encontrado
    # Verifique se o protetor de tela está em execução ou não
    # Se não estiver em execução, inicie o protetor de tela
    gnome-screensaver-command --activate


feito

saída 0
Prabin Dahal
fonte