나는 노트북을 사용하고 있습니다. 우분투 시스템을 지원하려고 생각했습니다. 잘못된 비밀번호를 입력하면 나중에 액세스하려는 사람을 나타내는 사진이 촬영됩니다.
나는 주변을 검색했으며 내가 찾은 유일한 것은 Mac 에서이 작업을 수행하는 것입니다. Ubuntu가 동일한 작업을 수행 할 수있는 스크립트를 작성할 수 있습니까?
가능하면 스크립트 또는 소프트웨어가 가능합니다.
나는 노트북을 사용하고 있습니다. 우분투 시스템을 지원하려고 생각했습니다. 잘못된 비밀번호를 입력하면 나중에 액세스하려는 사람을 나타내는 사진이 촬영됩니다.
나는 주변을 검색했으며 내가 찾은 유일한 것은 Mac 에서이 작업을 수행하는 것입니다. Ubuntu가 동일한 작업을 수행 할 수있는 스크립트를 작성할 수 있습니까?
가능하면 스크립트 또는 소프트웨어가 가능합니다.
답변:
을 바탕으로 이 게시물 에 의해 Ubuntuforums에 BkkBonanza .
이것은 PAM을 사용하는 접근 방식이며 모든 실패한 로그인 시도에 작동합니다. 가상 터미널 또는 일반 로그인 화면을 통해 SSH를 사용하면 모든 것이 결국 PAM에 의해 처리되므로 중요하지 않습니다.
ffmpeg를 설치 하면 웹캠 이미지를 가져 오는 명령 줄 방식으로 사용할 것입니다. 업데이트 : Ubuntu 14.04로 업그레이드하면 ffmpeg가 제거됩니다. 아래 스크립트에서 ffmpeg 대신 avconv를 사용할 수 있습니다. 별도로 설치할 필요가 없습니다.
예 /usr/local/bin/grabpicture
를 들어 다음 내용 으로 작은 스크립트를 작성하십시오 .
#!/bin/bash
ts=`date +%s`
ffmpeg -f video4linux2 -s vga -i /dev/video0 -vframes 3 /tmp/vid-$ts.%01d.jpg
exit 0 #important - has to exit with status 0
/dev/video0
웹캠의 실제 비디오 장치로를 변경하고 사진이 저장되는 경로를 선택하십시오 /tmp
. 최신 버전의 Ubuntu에서는 ( ) avconv
대신 사용하십시오 .ffmpeg
sudo apt-get install libav-tools
실행 가능하게 만드십시오 (예 :) chmod +x /usr/local/bin/grabpicture
.
그것을 호출하여 테스트하십시오 : /usr/local/bin/grabpicture
. 에 파일이 나타나는지 확인하십시오 /tmp/vid....jpg
.
모든 실패한 시도에서이를 호출하도록 PAM을 구성하십시오.
참고 :이 작업을주의해서 수행하십시오. 실패하면 정기적으로 시스템에 다시 액세스 할 수 없습니다.
sudo -i
)가 있는 터미널 창을 열고 다음 단계에서 실수 할 경우를 대비하여 열린 상태로 두십시오./etc/pam.d/common-auth
좋아하는 편집기에서 수행하여 예 gksudo gedit /etc/pam.d/common-auth
. 이 파일의 행 순서가 중요한 다음 단계에 유의하십시오.아래 줄을 찾으십시오. 기본적으로 와 앞에 한 줄 이 pam_deny.so
있습니다. 내 12.04 시스템에서는 다음과 같습니다.
auth [success=1 default=ignore] pam_unix.so nullok_secure
이 줄 에서에서 succes의 스크립트를 건너 뛰 success=1
도록 success=2
로 변경하십시오 . 이것은 중요한 단계입니다.
바로 아래에 실제 스크립트를 호출 할 새 스크립트를 추가하십시오.
auth [default=ignore] pam_exec.so seteuid /usr/local/bin/grabpicture
파일을 저장하고 닫습니다. 아무것도 다시 시작할 필요가 없습니다.
그것을 테스트하십시오.
su -l username
로서 사용자 이름을 사용하여 다른 사용자로 로그인 해보십시오 username
(실제로 변경). 고의로 잘못된 비밀번호를 입력하십시오. 이 결과가 새로운 사진인지 확인하십시오.테스트에 성공하면 DE (Unity / KDE / ...)에서 로그 아웃 할 수 있으며 로그인 화면에서 잘못된 비밀번호를 입력 할 때도 동일하게 표시됩니다.
/tmp
지기 때문에 이외의 폴더를 사용하지 않아야 /tmp
합니까? (2) 실제 비디오 장치가 무엇인지 어떻게 알 수 있습니까?