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

我建议创建一个以 root 身份运行的脚本。让它每小时运行一次,将“faillog -a”的输出写入每个人都可以访问的文本文件中。然后让 MOTD grep 当前用户的该文件。这将避免进行任何不必要的权限更改或向不需要的人授予 sudo 访问权限。

相关内容