Faillog - Motd의 실패한 로그인 횟수

Faillog - Motd의 실패한 로그인 횟수

사용자가 로그인할 때 실패한 로그인 시도 횟수를 포함하고 싶습니다.

내가 만들었다:

/usr/local/bin/dynmotd

포함하는

#!/bin/bash

FAILLOG=`faillog -u`

echo -e "
$FAILLOG
"

그리고 /usr/local/bin/dynmotd추가됨/etc/profile

문제는 내가 얻는다는 것이다/var/log/faillog: Permission denied

일반 사용자로 로그인할 때마다. motd에서 이 명령을 실행하기 위해 일시적으로 권한을 안전하게 높이거나 이 응답을 얻기 위해 이 사용자에게 실패 로그에 대한 액세스 권한을 일시적으로 부여할 수 있는 방법이 있습니까? 모든 사용자에게 실패 로그에 대한 영구적인 액세스 권한을 부여하고 싶지 않습니다.

고쳐 쓰다

이것을 시도했습니다 :

#!/bin/bash

CURRENTUSER=`whoami`

sudo -u bob setfacl -m u:$CURRENTUSER:rx /var/log/faillog

FAILLOG=`sudo -u bob faillog -u $CURRENTUSER`

echo -e "
$FAILLOG
"

sudoers에 "bob"을 추가하면 NOPASSWD:"bob"으로 로그인하면 제대로 작동하지만 "bob2"로 로그인하려고 하면 sudoers 비밀번호를 묻는 메시지가 나타납니다.

답변1

루트로 실행되는 스크립트를 만드는 것이 좋습니다. 매시간 실행하고 "faillog -a"의 출력을 모든 사람이 액세스할 수 있는 텍스트 파일에 기록하도록 합니다. 그런 다음 MOTD가 현재 사용자에 대해 해당 파일을 grep하도록 합니다. 이렇게 하면 불필요한 권한 변경이나 필요하지 않은 사람에게 sudo 액세스 권한을 부여하는 것을 방지할 수 있습니다.

관련 정보