다른 사용자가 "my"시스템에 로그인 할 때 알림을받는 방법은 무엇입니까?


9

who로그인 한 모든 사용자를 표시 하는 명령을 알고 있습니다. 그러나 누군가 내가 내 시스템에 로그인하면 어떻게 든 정보를 원합니다. 애플릿? 애플릿에 로그인 한 개별 사용자 수가 표시되어 로그인 쉘이 있고 ssh 연결이 설정되어 있으면 좋을 것입니다.


BTW : 누군가가 침입 시도에 대해 언급 할 수 있습니다. 그러면 /etc/profile.d가 계속 실행됩니까? 그것은 침입에 달려 있다고 생각합니다. 따라서 실행중인 서비스의 권한 상승으로 인해 이것이 발생할 수있는 무차별 공격 ssh 공격의 경우 그렇지 않을 수 있습니다. 사용자 모니터링은 쉬운 일이 아닌 것 같습니다.
math

답변:


10

누군가 시스템에 로그인 할 때 알림의 일부로 스크립트에 작은 스크립트를 넣으려고 할 수 /etc/profile.d있습니다. notify-send (libnotify-bin 패키지의 일부)를 사용하여 다음을 시도 할 수 있습니다.

/etc/profile.d/notify_log.sh

notify-send -t 3000 "User logged in" `whoami`

그런 다음 누군가 시스템에 로그인 할 때마다 알림을받습니다.

편집 : 그래서, 그것은 잘 작동하지 않습니다 : (컴퓨터에 메일 서버를 구성한 경우 대신에 mail 명령을 사용할 수 있습니다 notify-send.

그러나 here 에 따르면 더 나은 해결책은 pam_exec 스크립트입니다.


좋은 생각이지만 실행 파일을 만들 필요가 없으며 파일 /etc/profile.d/이 소스 이기 때문에 shebang이 필요하지 않습니다 . 로그인 쉘 (가상 터미널 및 ssh 로그인)과 일부 GUI 로그인 만 프로파일 초기화를 실행합니다.
enzotib

@enzotib : 팁 주셔서 감사합니다, 나는 내 대답을 수정 :)
Cédric Julien

좋아, 지금까지 시도했지만 운이 없다. 그 이유는 한 사용자가 다른 사용자에게 쉽게 알릴 수 없기 때문입니다. 따라서 일부 환경 변수를 설정해야합니다 ( g-loaded.eu/2007/11/18/… 참조) . 지금까지 나는 로그인 할 때가 아니라 물건을하는 실행 파일을 가지고 있습니다!?! 난 그냥 경우 source /etc/profile.d/notify_log.shssh를 통해 로그인 후 알림이 전송됩니다. 로그인 후 제대로 실행되지 않는 것 같습니다. 운없이 /var/log/auth.log를 관찰했습니다. 어떤 도움?
math

이유를 찾았습니다 .ZSH를 사용하고 / etc / zsh / zprofile이 비어 있으면 / etc / profile을 소싱해야하며 /etc/profile.d/*.sh를 소싱해야하지만 전혀 아무것도하지 않습니다! >-(.. 모든 LDAP 사용자가 어떤 로그인 셸을 사용하는지 모르기 때문에이를 명시 적으로 소싱하고 설치된 다른 모든 셸을 확인합니다. 어쨌든 감사합니다.
math

@brubelsabs : oups, 다른 솔루션으로 답을 편집했습니다
Cédric Julien

2

우리는 /etc/profile.d/notify.sh다음과 같은 내용 의 파일 을 만들어서 수행합니다.

#!/bin/sh

sender="hostname@example.com"
recepient="admingroup@example.com"
subject="Privileged Account logon used"
message="`env`"
    echo "$message" | mail -s "$subject" -r "$sender" -Smtp=mail.example.com "$recepient"

mailx가 설치되었다고 가정합니다.


예, 때로는 바탕 화면 알림이 누락 될 수 있지만 일반적으로 메일은 남아 있습니다.
math

@Antonio crontab에 스크립트를 추가해야합니까? 작동하지 않는 것 같습니다.
cokedude
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.