<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ulock on WhyNotHugo (雨果)</title><link>https://whynothugo.nl/tags/ulock/</link><description>Recent content in Ulock on WhyNotHugo (雨果)</description><generator>Hugo</generator><language>en</language><managingEditor>hugo@whynothugo.nl (Hugo Osvaldo Barrera)</managingEditor><webMaster>hugo@whynothugo.nl (Hugo Osvaldo Barrera)</webMaster><lastBuildDate>Sat, 06 Jun 2026 14:28:57 +0200</lastBuildDate><atom:link href="https://whynothugo.nl/tags/ulock/posts.xml" rel="self" type="application/rss+xml"/><item><title>Introducing µlock</title><link>https://whynothugo.nl/journal/2026/06/06/introducing-%C2%B5lock/</link><pubDate>Sat, 06 Jun 2026 14:05:59 +0200</pubDate><author>hugo@whynothugo.nl (Hugo Osvaldo Barrera)</author><guid>https://whynothugo.nl/journal/2026/06/06/introducing-%C2%B5lock/</guid><description>&lt;p&gt;Last weekend I sat down and set into code a project that has been living in my
head rent-free for some time: µlock (a.k.a: &lt;code&gt;ulock&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ulock&lt;/code&gt; is a minimal Wayland screen-locker, designed to work without relying on
any &lt;a href="https://en.wikipedia.org/wiki/Setuid"&gt;setuid&lt;/a&gt; binary on Linux. This is done by relying on the &lt;a href="https://wiki.alpinelinux.org/wiki/Tcb"&gt;tcb&lt;/a&gt; password
shadowing scheme. The gist of this scheme is: each user&amp;rsquo;s &lt;code&gt;shadow&lt;/code&gt; entry is
stored in &lt;code&gt;/etc/tcb/$USER/shadow&lt;/code&gt; instead of &lt;code&gt;/etc/shadow&lt;/code&gt;, and each user has
permissions to read their own encrypted password&amp;rsquo;s hash (and to edit it,
depending on the administrator&amp;rsquo;s policy). I works in environments where setuid
binaries are disabled entirely (but is not limited to those).&lt;/p&gt;</description></item></channel></rss>