si3t.ch> cd /

TaBr - gestion d'un serveur familial partie 1

Je l'évoquais dans un précédent article : j'ai réfléchi à la mise en place d'un serveur à utilisation familiale, voire de quartier.

Après quelques temps à coder, c'est chose prête, et je vais détailler ici les choix et les scripts utilisés.

Tout d'abord, quelques détails sur la méthode choisie:

Pour la mise en place d'un chroot SFTP, c'est facile.

4 composants sont prévus :

On détaillera chaque composants dans une série d'articles à venir.

Pour finir celui-ci, je vous présente seulement le fichier Makefile qui permet l'installation:

# tabr suite
# prx <prx@si3t.ch>

# Quelques variables...
PREFIX		?=/usr/local
BINDIR		?=${PREFIX}/bin
SBINDIR		?=${PREFIX}/sbin
CGIDIR		?=/var/www/cgi-bin
CHPWREQDIR	?=/var/www/tabr_chpw_requests

# Tout ce qu'il faudra compiler
all: src/tabr_chpw_cgi src/hashmatchstr

# chpw_cgi sera à recompiler si on modifie sa configuration
src/chpw_cgi/main.c: src/chpw_cgi/config.h

# Comment compiler tabr_chpw_cgi. 
# On utilise -static car il sera dans un chroot
src/tabr_chpw_cgi: src/chpw_cgi/main.c
	${CC} -static -o $@ $?

# Compilation de hashmatchstr, l'outil
# qui permet de comparer les hash et les passwords
src/hashmatchstr: src/hashmatchstr.c
	${CC} -o $@ $?

# On prévoit comment remettre à zéro
clean:
	rm src/tabr_chpw_cgi
	rm src/hashmatchstr

# Installation des fichiers.
# On utilise la commande install pour 
# gérer finement les permissions
install: src/tabr_chpw_cgi src/hashmatchstr
	install -o root -g daemon -m 0755 src/tabr_chpw_cgi ${CGIDIR}/tabr_chpw.cgi
	@# IMPORTANT: chmod 730, www can write but can't read
	install -o _tabr_admin -g www -m 0730 -d ${CHPWREQDIR}
	install -m 0755 -o root -g bin src/hashmatchstr ${BINDIR}/hashmatchstr
	install -m 0755 -o root -g bin src/tabr_adduser.sh ${SBINDIR}/tabr_adduser
	install -m 0755 -o root -g bin src/tabr_passwd.sh ${SBINDIR}/tabr_passwd
	install -m 0755 -o root -g bin src/tabr_deluser.sh ${SBINDIR}/tabr_deluser
	install -m 0644 -o root -g wheel src/tabr.conf /etc/

# On prépare aussi le nettoyage
uninstall:
	rm -rf ${CGIDIR}/tabr_chpw.cgi
	rm -f ${BINDIR}/hashmatchstr
	rm -f ${BINDIR}/tabr_adduser
	rm -f ${BINDIR}/tabr_passwd
	rm -f ${BINDIR}/tabr_deluser
	@printf "You probably should remove %s and %s too\n"\
		"${CHPWREQDIR}" "/etc/tabr.conf"

Une réaction?

Envoyez votre commentaire par mail (anonyme).

Mode d'emploi de la liste de diffusion pour recevoir les réponses.


[XHTML 1.1 valid] [CSS < 256B] [] [http/Tor]