除非使用 sudo 运行,否则 finger 协议会忽略其他用户的 .plan 和 .project 文件

除非使用 sudo 运行,否则 finger 协议会忽略其他用户的 .plan 和 .project 文件

我正在运行一个小型服务器 Ubuntu 23.04,并具有 sudo 权限。服务器上还有其他几个人,我们正在尝试使用 finger。我们已经创建了 .plan 和 .project 文件。但是,当我们finger username使用自己的用户名时,我们可以看到列出的完整项目和计划信息。但是,如果任何 finger 是其他人的用户名,它会返回登录名和目录,但不返回 .plan 或 .project。相反,该部分显示“无计划”。例如,即使它存在于他们的主目录中。但是,如果我运行它,sudo finger username它就会起作用。

所以这看起来像是一个权限问题,但我不确定如何修复,因为其他用户无法运行 sudo。我如何以管理员身份修复此问题,以允许其他用户在没有 sudo 的情况下正确运行 finger?

测试时pinky username -l也遇到同样的问题。

答案1

这可能是权限/访问问题。这就是它能正常工作的原因root

阅读man finger,其中提到需要 HOME 目录o+x(可搜索性)才能~/.nofinger工作。

使用脚本探索您的挂载/读取/写入/执行问题https://github.com/waltinator/pathlldbash以显示沿着一个或多个对象路径的权限、挂载选项。

考虑:

#!/bin/bash
# create a new group "fingers"
sudo addgroup fingers 
for u in "you and a few other folks" ; do
    # add user to "fingers" group
    sudo adduser "$u" fingers
    uhome="$(getent passwd "$u" | cut -d: -f6)"
    # allow group read and search for user's $HOME directory 
    sudo chmod g+rx "$uhome"
    # allow group read of .plan, .project
    sudo chmod g+r "$uhome"/{.plan,.project}
done

然后,当每个用户注销和登录(组由设置login)时,finger应该可以工作。

相关内容