지도 시간

지도 시간

내 컴퓨터에서 로그인이 3번 실패하면(ssh가 아니라 누군가 터미널에서 로그인을 시도하거나 누군가 물리적으로 로그인을 시도하는 경우) 스크립트를 실행하고 싶습니다. 그리고 스크립트를 실행하기 전 횟수를 설정할 수 있나요?

PAM을 조사해 본 결과 .so파일 실행만 가능하고 설정이 번거로운 것 같습니다. 다른 옵션이 있나요?

나에게 일어난 또 다른 일은 로그인이 실패할 때 Linux가 일부 스크립트를 실행할 수도 있다는 것입니다. 그렇다면 추가 sh /var/myscript.sh하거나 뭔가를 할 수 있습니다. 어떤 아이디어가 있나요?

인터넷 어디에서도 이 내용을 다루는 곳을 찾을 수 없는 것 같습니다. 스크립트를 실행할 수 있는 경우모든귀하의 로그인 시도가 실패하면 제가 처리해 드리겠습니다.

답변1

괜찮은. 나는 그것에 대해 생각했다. 잘못하면 시스템이 망가질 수 있으므로 엉망이 되지 않도록 주의하세요. 이것이 불편하다면 먼저 가상 머신에서 시도해 보는 것이 가장 좋습니다.

지도 시간

  1. 스크립트를 만듭니다. 이 튜토리얼에서는 스크립트를 에 넣겠습니다 /var/myscript.sh. 스크립트 경로를 스크립트가 있는 위치로 안전하게 바꿀 수 있습니다. 어떠한 경우에도 0 이외의 코드로 스크립트가 종료되지 않도록 하십시오. 또한 이 명령을 exit 0스크립트 끝에 추가하여 올바르게 종료되는지 확인하세요. 계속하기 전에 스크립트를 테스트하십시오.
  2. 스크립트를 실행 가능하게 만드세요chmod +x /var/myscript.sh
  3. 실제 작업이 시작되기 전에 문제가 발생하면 터미널을 열고 sudo -i. 만약을 대비해 창문을 열어두세요.
  4. gksudo nano /etc/pam.d/common-auth. nano텍스트 편집기로 바꿀 수 있습니다 . 백업을 하려면 이렇게 하면 됩니다sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.bkup
  5. 다음 줄을 찾으세요: auth [success=1 default=ignore] pam_unix.so nullok_secure
  6. 해당 줄에서 success=1로 변경하세요 success=2. 이는 로그인이 성공한 경우 스크립트가 실행되지 않도록 하기 위한 것입니다.
  7. 5단계의 줄 바로 아래에 다음 줄을 추가합니다. auth [default=ignore] pam_exec.so seteuid /var/myscript.sh
  8. 저장하고 닫습니다.
  9. 재부팅하거나 "다시 로그인"할 필요가 없으며 새 터미널을 열고 su -l <username>.
  10. 의도적으로 잘못된 비밀번호를 입력한 후 스크립트가 작동하는지 확인하세요. 그런 다음 9단계를 다시 시도하되 올바른 비밀번호를 사용하십시오. 로그인할 수 있는지 확인하세요.

생산 직원

특히 훌륭한 문서와 게시물에 감사드립니다.이것.

관련 정보