Eu estou usando um laptop Eu estava pensando em ter um suporte na minha máquina Ubuntu. Quando uma senha incorreta é inserida, uma foto é tirada posteriormente, revelando quem está tentando obter acesso.
Eu pesquisei e a única coisa que encontrei foram as coisas para fazer isso nos Macs. É possível escrever um script para o Ubuntu fazer o mesmo.
Se possível, o que é um script ou software para fazer isso acontecer?
Respostas:
Baseado neste post no Ubuntuforums do BkkBonanza .
Essa é uma abordagem usando o PAM e funcionará para todas as tentativas de login com falha. Usando o SSH, um terminal virtual ou através da tela de login normal, não importa, pois tudo é tratado pelo PAM no final.
Instale o ffmpeg , vamos usar isso como uma forma de linha de comando para capturar as imagens da webcam. Atualização : o ffmpeg é removido quando você atualiza para o Ubuntu 14.04. Podemos usar o avconv no lugar do ffmpeg no script abaixo. Não é necessário instalar nada separadamente.
Crie um pequeno script em algum lugar, por exemplo,
/usr/local/bin/grabpicture
com o seguinte conteúdo:Altere o
/dev/video0
dispositivo de vídeo atual da sua webcam e escolha um caminho em que as fotos serão salvas - basta escolher/tmp
. Na versão mais recente do Ubuntu, use emavconv
vez deffmpeg
(sudo apt-get install libav-tools
).Torne executável, por exemplo
chmod +x /usr/local/bin/grabpicture
.Testá-lo, por apenas chamando-o:
/usr/local/bin/grabpicture
. Verifique se você vê os arquivos aparecendo/tmp/vid....jpg
.Configure o PAM para chamar isso em todas as tentativas com falha.
Nota: faça isso com cuidado - se isso falhar, você não poderá obter acesso ao seu sistema novamente de maneira regular.
sudo -i
) e deixe-a aberta - caso você estrague as próximas etapas./etc/pam.d/common-auth
no seu editor favorito, por exemplo, fazendogksudo gedit /etc/pam.d/common-auth
. Lembre-se das etapas a seguir que importam a ordem das linhas neste arquivo.Localize a linha abaixo. Por padrão, há uma linha antes da linha com
pam_deny.so
. No meu sistema 12.04, fica assim:Nesta linha, altere o
success=1
parasuccess=2
que ele pule o script com sucesso. Este é um passo importante.Logo abaixo, adicione um novo para chamar o script real:
Salve e feche o arquivo. Não há necessidade de reiniciar nada.
Teste-o.
su -l username
fazer login como outro usuário com nome de usuáriousername
(mude para um real, é claro). Digite deliberadamente a senha errada. Verifique se isso resulta em uma nova imagem.Se os testes foram bem-sucedidos, você pode sair do seu DE (Unity / KDE / ...) e verá o mesmo ao digitar uma senha errada na tela de login.
fonte
/tmp
, porque/tmp
é limpa toda vez que você reinicia? (2) Como você diz qual é o seu dispositivo de vídeo real?