GLEP 12:Gentoo.org Finger 守护进程

作者 Tavis Ormandy <taviso@gentoo.org>
类型 标准跟踪
状态 已拒绝
版本 1
创建日期 2003-08-10
最后修改日期 2017-11-04
发布历史 2003-08-11
GLEP 源码 glep-0012.rst

拒绝原因

关于 Gentoo 开发的信息已经非常分散。尽管此 GLEP 有一定的优点,但事实上它是一个独立的信息来源,而不是简单地作为现有信息来源的另一个渠道,这带来的问题多于解决的问题。如果此 GLEP 重新提交/修改,使得 finger 仅仅成为现有信息来源的接口,它可能会被接受。

摘要

finger 协议在 rfc742 [1] 和 rfc1196 [2] 中有说明,这是一个简单的协议,用于返回关于系统特定用户的易于阅读的报告。通常,返回的信息将是姓名、位置等详细信息。这些细节完全是可选的,并且是从系统的 passwd 文件中获取的,当然可以使用标准的 chfn(1) [3] 命令进行编辑或删除。

finger 守护进程还将返回用户主目录中的三个文件的内容,如果它们存在且可读。

  • ~/.project - 应该包含有关当前正在处理的项目的信息。
  • ~/.plan - 可能包含正在进行的工作或 TODO 样式列表。
  • ~/.pgpkey - 将包含 PGP/GnuPG [4] 公钥块。

finger 协议在 UNIX 社区中已经成熟、安全且被广泛使用。所有主要的操作系统都有可用的客户端,以及针对那些没有客户端的系统的基于 Web 的客户端。

动机

Gentoo 开发人员已经意识到用户关系 [9] 的重要性。

必须使社区了解最新的目标、状态更新和来自开发团队的信息。目前建议用户跟踪邮件列表、监控 Gentoo Bugzilla、开发者 IRC 频道和 cvs 提交。

虽然跟踪开发者进度和活动的资源已提供给用户,但它们的形式并不适合许多人使用。即使对于开发者来说,跟踪开发也是一项乏味的任务。对于希望跟踪开发者进度的非技术用户来说,使用邮件列表和 Bugzilla 可能不是一个实用的选择。

开发者可能还需要一种方法来快速了解其他开发者的进度或活动,不同的时区有时会使开发者难以在 IRC 上互相联系,并且使已经高容量的邮件列表因状态更新而变得更加混乱是不可取的。

一种允许各个开发者记录其活动和计划,并且任何感兴趣的人都可以立即访问的方法将是可取的,我建议在 gentoo.org 或 dev.gentoo.org 上运行一个 finger 守护进程,并从 gentoo.org 转发请求到那里。

运行开发者 finger 守护进程将改善开发者之间的沟通、用户沟通和关系,并减少开发者在回复用户关于项目状态更新查询方面的负担。

将来,预计 Portage 将需要一种密码学安全的验证方法,以确保从 rsync 镜像获取的 ebuild 与开发者检入 Portage 树中的 ebuild 相同 [10] 。使开发者密钥可供用户手动检查文件或发送给他们的补丁的完整性非常重要。长期以来,人们都知道鼓励开发者使用 GPG 是可取的 [5]

如果报告了严重的安全漏洞,标准程序 [6] 是在将信息发布到完整的披露安全讨论列表之前通知供应商。使相关维护者的密钥易于获得将允许报告者加密其报告。

基本原理

提供 finger 守护进程将允许用户立即访问有关开发人员的信息,以及他们决定共享的该开发人员当前项目的所有详细信息。

所有开发人员的 GPG 密钥将立即可用,并且 finger devname@gentoo.org 命令的输出可以传递到 gpg --import 中,以立即将其添加到用户的密钥环中。

以下项目使用 finger 进行用户-开发者通信,

Latest kernel releases, and developer information.
$ finger @kernel.org

Developers and organisers are encouraged to keep .plans about their
activity.
$ finger nugget@distributed.net

Latest NASA news, and information from engineers.
$ finger nasanews@space.mit.edu

Slackware developers.
$ finger volkerdi@slackware.com

FreeBSD developers.
$ finger nakai@freebsd.org

实现和安全性

一些管理员担心在他们的机器上运行 finger 守护进程的安全性,与 finger 协议相关的安全问题通常被称为“信息泄漏” [7]

这意味着攻击者可能能够使用 finger 守护进程识别其目标上的有效帐户,然后他们将尝试获取对这些帐户的访问权限。

这种情况不适用于此实现,因为 Gentoo 开发人员名称已经公开发布。 [8]

Gentoo Portage 中提供的 fingerd 从未报告过任何安全问题。finger 被世界各地的大学、Unix 系统和开发项目广泛使用。

添加虚拟用户将非常简单,并允许诸如 gentoo-docs、gentoo-alpha、gentoo-ppc 等项目维护 .plans 和 .projects。这将允许项目维护更多不适合其项目网页的技术细节或状态更新。

向计划添加数据比更新网页简单得多。

示例查询

如果用户想要了解有关作者的信息,这可能是 finger 查询的输出

$ finger taviso@gentoo.org
Login: taviso                  Name: Tavis Ormandy
Directory: /home/taviso        Shell: /bin/bash
Last login: dd-mmm-yyyy
Mail last read dd-mmm-yyy
Project:

Currently working on implementing XXX, and porting XXX to XXX.

Plan:

dd-mmm-yyyy

Investigating bug #12345, testing patch provided in #12236

Write documentation for new features in XXX.

dd-mmm-yyyy

Contact acmesoft regarding license for xxx in portage.

PGP Key:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.1 (Linux)
(...)
-----END PGP PUBLIC KEY BLOCK-----