cd /
;
apropos
;
Voici un recueil d'outils permettant de gérer les inscriptions à un serveur.
Téléchargement :
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).
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
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''.
Les différents scripts sont supposés être appelés en tant que _tabr_admin. Pour cela, doas est là.
doas -u _tabr_admin tabr_adduser nouvel_utilisateur
Ajout d'un nouvel utilisateur du si3tch TaBr.
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
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 ...
Script qui supprime l'utilisateur et son fichier de récupération