<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>smallweb &amp;mdash; Gritty&#39;s Blog</title>
    <link>https://smallweb.space/tag:smallweb</link>
    <description></description>
    <pubDate>Sun, 26 Apr 2026 09:41:25 -0400</pubDate>
    <item>
      <title>Getting efingerd finger daemon working on Ubuntu 22.10</title>
      <link>https://smallweb.space/getting-efingerd-finger-daemon-working-on-ubuntu-22-10</link>
      <description>&lt;![CDATA[Background&#xA;&#xA;Not a lot of folks use the finger command or protocol these days; however, I&#39;ve been delving into the #smallweb / smolweb (i.e., the Gemini Protocol) for the past year and noticed a few people have revived this ancient protocol for status updates. I figured I&#39;d give it a shot, and I thought it would be simple, but the lack of guidance really hindered me for a bit.&#xA;&#xA;If you&#39;re wondering, efingerd / fingerd (the original) simply enables people outside of your own linux machine to use the finger command, just remotely.&#xA;&#xA;Installing&#xA;&#xA;Finger / efingerd is not installed on Ubuntu 22.10 by default so you have to install it:&#xA;$ sudo apt-get install finger&#xA;$ sudo apt-get install efingerd&#xA;&#xA;Other finger daemons&#xA;&#xA;This post only goes over efingerd, but if you want to see what other finger daemons are available:&#xA;$ apt search fingerd&#xA;&#xA;Enabling efingerd&#xA;On Ubuntu 22.10, the install script should automatically update your /etc/inetd.conf file with the necessary configuration. One thing I learned is that these old programs are launched by another wrapper daemon, namely tcpd. I really tried getting cfingerd to work with systemd, xinetd, and inetd, but I kept getting errors, so I went with efingerd in the end.&#xA;&#xA;If you check out /etc/inetd.conf, you&#39;ll see this line added:&#xA;:INFO: Info services&#xA;finger   stream  tcp  nowait   efingerd  /usr/sbin/tcpd   /usr/sbin/efingerd &#xA;&#xA;which I edited to:&#xA;:INFO: Info services&#xA;finger   stream  tcp  nowait   root  /usr/sbin/tcpd   /usr/sbin/efingerd -u -t 5  &#xA;&#xA;-u prevents users from using the executable ~/.efingerd file&#xA;-t 5 sets the connection timeout&#xA;I also changed user to root (which most other finger daemons run as) so that each user&#39;s home directory could be read by the bash scripts, otherwise the user efingerd can&#39;t see into those.&#xA;&#xA;Enabling the Service&#xA;$ sudo systemctl inetd restart&#xA;&#xA;Checking the service&#xA;$ sudo journalctl -f -u inetd&#xA;and&#xA;&#xA;$ sudo systemctl status inetd&#xA;&#xA;Configuring efingerd&#xA;make all files in /etc/efingerd executeable&#xA;sudo chmod +x /etc/efingerd/&#xA;&#xA;edit them - there are a few test commands in there... check out the manpage for what they do&#xA;&#xA;I pretty much got rid of everything (finger shows users logged in and their IP addresses) and crafted my own scripts inside the files to read the user&#39;s directory for the .plan, .project. and .pgpkey files, and display them if they exist.&#xA;&#xA;Open port in firewall&#xA;$ sudo ufw enable 79/tcp&#xA;&#xA;Testing efingerd&#xA;try to finger your server:&#xA;finger @your server&#xA;(responds with whatever is in &#34;list&#34;)&#xA;&#xA;and&#xA;finger user@your server&#xA;(responds with whatever is in &#34;luser&#34;)&#xA;&#xA;Addendum - happynetbox&#xA;I reached out to the owner of happynetbox [1], a web front-end to finger where you can sign up for your own account and have a finger account purely through the web. I found this site because of ~ruario&#39;s posting on #antenna where they were testing if antenna would allow a finger:// submission. Anyways, the owner responded to me and said they used a Node project on github as a baseline for that entire site, which, might actally be easier than setting up 30 year old finger programs on today&#39;s systems. The site can be found here:&#xA;Simple Node.js finger server&#xA;Happynetbox]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="background">Background</h2>

<p>Not a lot of folks use the finger command or protocol these days; however, I&#39;ve been delving into the <a href="https://smallweb.space/tag:smallweb" class="hashtag"><span>#</span><span class="p-category">smallweb</span></a> / smolweb (i.e., the Gemini Protocol) for the past year and noticed a few people have revived this ancient protocol for status updates. I figured I&#39;d give it a shot, and I thought it would be simple, but the lack of guidance really hindered me for a bit.</p>

<p>If you&#39;re wondering, efingerd / fingerd (the original) simply enables people outside of your own linux machine to use the finger command, just remotely.</p>

<h2 id="installing">Installing</h2>

<p>Finger / efingerd is not installed on Ubuntu 22.10 by default so you have to install it:</p>

<pre><code>$ sudo apt-get install finger
$ sudo apt-get install efingerd
</code></pre>

<h2 id="other-finger-daemons">Other finger daemons</h2>

<p>This post only goes over efingerd, but if you want to see what other finger daemons are available:</p>

<pre><code>$ apt search fingerd
</code></pre>

<h2 id="enabling-efingerd">Enabling efingerd</h2>

<p>On Ubuntu 22.10, the install script should automatically update your /etc/inetd.conf file with the necessary configuration. One thing I learned is that these old programs are launched by another wrapper daemon, namely tcpd. I <em>really</em> tried getting cfingerd to work with systemd, xinetd, and inetd, but I kept getting errors, so I went with efingerd in the end.</p>

<p>If you check out /etc/inetd.conf, you&#39;ll see this line added:</p>

<pre><code>:INFO: Info services
finger   stream  tcp  nowait   efingerd  /usr/sbin/tcpd   /usr/sbin/efingerd 
</code></pre>

<p>which I edited to:</p>

<pre><code>:INFO: Info services
finger   stream  tcp  nowait   root  /usr/sbin/tcpd   /usr/sbin/efingerd -u -t 5  
</code></pre>
<ul><li>-u prevents users from using the executable ~/.efingerd file</li>
<li>-t 5 sets the connection timeout</li>
<li>I also changed user to root (which most other finger daemons run as) so that each user&#39;s home directory could be read by the bash scripts, otherwise the user efingerd can&#39;t see into those.</li></ul>

<h2 id="enabling-the-service">Enabling the Service</h2>

<pre><code>$ sudo systemctl inetd restart
</code></pre>

<h2 id="checking-the-service">Checking the service</h2>

<pre><code>$ sudo journalctl -f -u inetd
</code></pre>

<p>and</p>

<pre><code>$ sudo systemctl status inetd
</code></pre>

<h2 id="configuring-efingerd">Configuring efingerd</h2>

<p>make all files in /etc/efingerd executeable</p>

<pre><code>sudo chmod +x /etc/efingerd/
</code></pre>

<p>edit them – there are a few test commands in there... check out the manpage for what they do</p>

<p>I pretty much got rid of everything (finger shows users logged in and their IP addresses) and crafted my own scripts inside the files to read the user&#39;s directory for the .plan, .project. and .pgpkey files, and display them if they exist.</p>

<h2 id="open-port-in-firewall">Open port in firewall</h2>

<pre><code>$ sudo ufw enable 79/tcp
</code></pre>

<h2 id="testing-efingerd">Testing efingerd</h2>

<p>try to finger your server:</p>

<pre><code>finger @&lt;your server&gt;
</code></pre>

<p>(responds with whatever is in “list”)</p>

<p>and</p>

<pre><code>finger &lt;user&gt;@&lt;your server&gt;
</code></pre>

<p>(responds with whatever is in “luser”)</p>

<h2 id="addendum-happynetbox">Addendum – happynetbox</h2>

<p>I reached out to the owner of happynetbox [1], a web front-end to finger where you can sign up for your own account and have a finger account purely through the web. I found this site because of ~ruario&#39;s posting on <a href="https://smallweb.space/tag:antenna" class="hashtag"><span>#</span><span class="p-category">antenna</span></a> where they were testing if antenna would allow a finger:// submission. Anyways, the owner responded to me and said they used a Node project on github as a baseline for that entire site, which, might actally be easier than setting up 30 year old finger programs on today&#39;s systems. The site can be found here:
* <a href="https://gist.github.com/mcroydon/519344">Simple Node.js finger server</a>
* <a href="https://happynetbox.com">Happynetbox</a></p>
]]></content:encoded>
      <guid>https://smallweb.space/getting-efingerd-finger-daemon-working-on-ubuntu-22-10</guid>
      <pubDate>Fri, 17 Feb 2023 14:28:42 +0000</pubDate>
    </item>
  </channel>
</rss>