<?xml version="1.0" encoding="utf-8"?>



<feed xmlns="http://www.w3.org/2005/Atom"
    xmlns:fh="http://purl.org/syndication/history/1.0"
    xmlns:at="http://purl.org/atompub/tombstones/1.0">

    <title>Publ: File formats</title>
    <subtitle>A personal publishing system for the modern web</subtitle>
    <link href="http://publ.beesbuzz.biz/manual/formats/feed?tag=auth" rel="self" />
    <link href="http://publ.beesbuzz.biz/manual/formats/feed" rel="current" />
    <link href="https://busybee.superfeedr.com" rel="hub" />
    
    
    <link href="http://publ.beesbuzz.biz/manual/formats/" />
    <fh:archive />
    <id>tag:publ.beesbuzz.biz,2020-01-07:manual/formats</id>
    <updated>2019-08-10T01:46:14-07:00</updated>

    
    <entry>
        <title>User configuration file</title>
        <link href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file" rel="alternate" type="text/html" />
        <published>2019-08-10T01:46:14-07:00</published>
        <updated>2019-08-10T01:46:14-07:00</updated>
        <id>urn:uuid:144f6409-7745-518c-bcbc-dc30050f8839</id>
        <author><name>fluffy</name></author>
        <content type="html">
<![CDATA[
<p>The file format for configuring user authentication.</p>

<p>The authentication file, normally stored in <code>users.cfg</code> unless <a href="http://publ.beesbuzz.biz/api/python">configured differently</a>, stores a set of permissions groups for different authenticated users.</p><p>The format is pretty simple:</p><figure class="blockcode"><pre class="highlight" data-language="cfg" data-line-numbers><span class="line" id="e1341cb1L1"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L1"></a><span class="line-content"><span class="k">[admin]</span></span></span>
<span class="line" id="e1341cb1L2"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L2"></a><span class="line-content"><span class="na">http</span><span class="o">:</span><span class="s">//example.com/</span></span></span>
<span class="line" id="e1341cb1L3"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L3"></a><span class="line-content"><span class="na">mailto</span><span class="o">:</span><span class="s">me@example.com</span></span></span>
<span class="line" id="e1341cb1L4"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L4"></a><span class="line-content"></span></span>
<span class="line" id="e1341cb1L5"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L5"></a><span class="line-content"><span class="k">[friends]</span></span></span>
<span class="line" id="e1341cb1L6"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L6"></a><span class="line-content"><span class="na">mailto</span><span class="o">:</span><span class="s">someone@example.com</span></span></span>
<span class="line" id="e1341cb1L7"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L7"></a><span class="line-content"><span class="na">mailto</span><span class="o">:</span><span class="s">someone-else@example.com</span></span></span>
<span class="line" id="e1341cb1L8"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L8"></a><span class="line-content"><span class="na">http</span><span class="o">:</span><span class="s">//example.com/~friend/</span></span></span>
<span class="line" id="e1341cb1L9"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L9"></a><span class="line-content"><span class="na">good-friends</span></span></span>
<span class="line" id="e1341cb1L10"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L10"></a><span class="line-content"></span></span>
<span class="line" id="e1341cb1L11"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L11"></a><span class="line-content"><span class="k">[enemies]</span></span></span>
<span class="line" id="e1341cb1L12"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L12"></a><span class="line-content"><span class="na">mailto</span><span class="o">:</span><span class="s">mark@facebook.com</span></span></span>
<span class="line" id="e1341cb1L13"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L13"></a><span class="line-content"><span class="na">http</span><span class="o">:</span><span class="s">//tumblr.com/</span></span></span>
<span class="line" id="e1341cb1L14"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L14"></a><span class="line-content"></span></span>
<span class="line" id="e1341cb1L15"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L15"></a><span class="line-content"><span class="k">[good-friends]</span></span></span>
<span class="line" id="e1341cb1L16"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb1L16"></a><span class="line-content"><span class="na">https</span><span class="o">:</span><span class="s">//beesbuzz.biz/</span></span></span>
</pre></figure><p>Simply put, each group is indicated by <code>[group_name]</code>, and each line after the group name indicates the authenticated identities (and other groups) which are a part of that group. So, in this case, anyone who is in the <code>good-friends</code> group will also be in the <code>friends</code> group.  All identities are given as full URIs.</p><p>Identities can also be used as a group name, to help manage those folks who have more than one identity that you want to treat equivalently; for example:</p><figure class="blockcode"><pre class="highlight" data-language="cfg" data-line-numbers><span class="line" id="e1341cb2L1"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb2L1"></a><span class="line-content"><span class="k">[https://beesbuzz.biz]</span></span></span>
<span class="line" id="e1341cb2L2"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb2L2"></a><span class="line-content"><span class="na">mailto</span><span class="o">:</span><span class="s">fluffy@beesbuzz.biz</span></span></span>
<span class="line" id="e1341cb2L3"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb2L3"></a><span class="line-content"><span class="c1">; Twitter URLs are given in /i/user/NNNNN format; this allows things to keep</span></span></span>
<span class="line" id="e1341cb2L4"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb2L4"></a><span class="line-content"><span class="c1">; working if a user changes their username, and prevents others from hijacking</span></span></span>
<span class="line" id="e1341cb2L5"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb2L5"></a><span class="line-content"><span class="c1">; their identity as well.</span></span></span>
<span class="line" id="e1341cb2L6"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb2L6"></a><span class="line-content"><span class="na">https</span><span class="o">:</span><span class="s">//twitter.com/i/user/993171</span></span></span>
<span class="line" id="e1341cb2L7"><a class="line-number" href="http://publ.beesbuzz.biz/manual/formats/1341-User-configuration-file#e1341cb2L7"></a><span class="line-content"><span class="na">https</span><span class="o">:</span><span class="s">//plush.city/@fluffy</span></span></span>
</pre></figure><p>This will give the identities <a href="mailto:fluffy@beesbuzz.biz"><code>mailto:fluffy@beesbuzz.biz</code></a>, <a href="https://twitter.com/i/user/993171"><code>https://twitter.com/i/user/993171</code></a>, and <a href="https://plush.city/@fluffy"><code>https://plush.city/@fluffy</code></a> membership in all groups that <a href="https://beesbuzz.biz"><code>https://beesbuzz.biz</code></a> is in as well. However, the opposite is not true; <code>https://beesbuzz.biz</code> won&rsquo;t automatically have access to entries that are only allowed for <code>https://plush.city/@fluffy</code>, for example.</p><p>Any identities which belong to the administrative group (which is <code>admin</code> by default but can configured differently) will have access to all entries, as well as the administrative dashboard. Otherwise, users are subject to the <a href="http://publ.beesbuzz.biz/manual/formats/322-Entry-files#auth">permissions system</a>.</p><p>You can also start a line with <code>#</code> or <code>;</code> to indicate that it is a comment.</p>

]]>
        </content>
    </entry>
    

    
</feed>