我正在运行一个小型服务器 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/pathlld
,bash
以显示沿着一个或多个对象路径的权限、挂载选项。
考虑:
#!/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
应该可以工作。