This page temporarily redirects to gemini://si3t.ch/code/tabr-suite/.

TaBr : hébergement de services à taille humaine

Voici un recueil d'outils permettant de gérer les inscriptions à un serveur.

Téléchargement :

=> tabr.tgz

Services actuellement gérés:

Un dossier ''/var/tabr-data/'' (variable "data" dans tabr.conf) contiendra un fichier par utilisateur contenant les codes de récupération hachés.

Ce dossier appartiendra et ne sera lisible que à/par un utilisateur dédié : ''_tabr_admin''.

Les utilisateurs appartiennent à un groupe commun ''_tabr_users'', ce qui pourra simplifier la gestion si un accès SSH est envisagé. Il s'agit de réels utilisateurs système, ce qui impose une limite à leur nombre maximum : 2147483647 (y a de la marge).

Mise en place

Création de groupes et d'utilisateurs dédiés. _tabr_admin n'a pas de dossier personnel ni de shell, il ne servira qu'à lancer des commandes sans être root via doas.

groupadd _tabr_users
useradd -s /sbin/nologin -m -d /var/_tabr_admin _tabr_admin
install -m 0700 -o _tabr_admin -g _tabr_admin -d /var/_tabr_admin/tabr-data
install -m 0700 -o _tabr_admin -g _tabr_admin -d /var/_tabr_admin/tabr-data/instructions

La modification de mot de passe sera gérée par l'user _tabr_admin, il faut donc configurer doas:

cat >> /etc/doas.conf << EOF
permit root
# TaBr admin need to change passwords
permit nopass _tabr_admin cmd /usr/sbin/useradd
permit nopass _tabr_admin cmd /usr/sbin/usermod
permit nopass _tabr_admin cmd /usr/sbin/userdel
permit nopass _tabr_admin cmd /usr/local/sbin/prosodyctl

Les messages envoyés à _tabr_admin peuvent être redirigés vers root:

echo "_tabr_admin:  root" >> /etc/mail/aliases
newaliases

Un fichier de configuration est attendu à /etc/tabr.conf, vous devriez le configurer après l'installation.

vi /etc/tabr.conf

La commande qrencode doit être disponible pour tabr_adduser:

# pkg_add libqrencode

Installation

Les différents scripts et outils peuvent être installés avec la commande ''make install''.

Vous voudrez probablement auparavant ajuster la configuration du script cgi en éditant le fichier ''config.h'' du dossier ''tabr_chpw_cgi''.

Utilisation

Les différents scripts sont supposés être appelés en tant que _tabr_admin. Pour cela, doas est là.

Description des outils

tabr_adduser

doas -u _tabr_admin tabr_adduser nouvel_utilisateur

Ajout d'un nouvel utilisateur du si3tch TaBr.

tabr_chpw.cgi

CGI pour demander une modification de mot de passe pour un utilisateur. Un délai d'attente avant de répondre et un captcha est prévu pour limiter les abus. Il profite de unveil et pledge pour éviter les escalades. Il se configure en éditant le fichier ''config.h'' situé dans le dossier ''src/chpw_cgi''.

httpd doit être configuré pour appeler le cgi:

# rcctl enable slowcgi
# rcctl start slowcgi
# cat /etc/httpd.conf
[...]
server "example.com" {
    [...]
    location "/chpw" {
        root "/cgi-bin/tabr_chpw.cgi"
        fastcgi
    }
}
# rcctl reload httpd

tabr_passwd

doas -u _tabr_admin tabr_passwd /var/www/tabr_chpw_requests/

Une tâche cron de _tabr_admin appelle le script qui regarde tous les fichiers éventuellement créés par tabr_chpw.cgi:

# crontab -u _tabr_admin -e
*/1 * * * * /usr/local/sbin/tabr_passwd /var/www/tabr_chpw_requests
...

tabr_deluser

Script qui supprime l'utilisateur et son fichier de récupération


=> /

Proxy Information
Original URL
gemini://si3t.ch/code/tabr-suite
Status Code
Success (20)
Meta
text/gemini;lang=fr
Capsule Response Time
1030.350111 milliseconds
Gemini-to-HTML Time
0.803735 milliseconds

This content has been proxied by September (3851b).