Installation de glFTPd

glFTPd est un serveur FTP libre pour les systèmes UNIX. glFTPd est fortement configurable. L'un de ses avantages est qu'il dispose de sa propre base de données d'utilisateur, on peux ainsi la modifier à l'aide de commande site à distance.

Commencer par télécharger les sources sur le site : http://www.glftpd.com/files/glftpd-LNX_2.00.tgz

Il y a deux façons d'installer glFTPD, soit de façon manuelle en suivant le README, soit en utilisant le script installgl.sh. Je conseil je script. Il n'y a rien de bien sorcié, il faut suivre ce qu'il se passe.

  • Use tcpd? [Y]es [N]o: y
  • Use a jailed environment? [Y]es [N]o: n
  • Please enter the directory to install glftpd to [/glftpd]:
  • ...

Une fois l'installation terminée, il faut choisir ce qu'on veut mettre sur son serveur. Par défaut tout est dans /glftpd/site. Il est possible de monter un disque dans ce répertoire ou monter un répertoire (mount --bind) :

# cat /etc/fstab
/dev/hda4          /stock                  ext3    defaults 0       2
/stock/PHOTOS      /glftpd/site/PHOTOS     none    rw,bind  0       0

On peut essayer de se connecter au serveur (glftpd/glftpd), modifier le nom de l'admin et son groupe et créer les groupes nécessaires.

site renuser glftpd Nemako
site passwd newPWD
site grpadd ADMIN Administrateur du serveur
site chgrp Nemako ADMIN

Il est aussi intéressant de modifier le fichier /glftpd/ftp-data/default.user qui définit les paramètres par défaut lors de la création d'un utilisateur. Je pense par exemple au ratio à mettre à 0 dans mon cas.

On peut maintenant configurer tranquilement son fichier /etc/glftpd.conf et redémarrer le serveur.

Installation de Project-ZS NG

Une fois la base du serveur installée, on peut installer Project Zipscript - Next Generation. Il faut prendre la dernièr version stable ou testing (il n'existe pas encore de stable) et on la décompresse :

# wget http://us1.pzs-ng.com/testing/r1694_pzs-ng-rc3.tar.gz
# tar xvzf  r1694_pzs-ng-rc3.tar.gz -C /home/fred

Suivi tout logiquement de :

# vi README
# ./configure

Une bonne edition de zsconfig.h

# make && make install
...

Enfin voila on lit le README et c'est bon...

A retenir

  • Changer le port du serveur :
# cat /etc/services
glftpd	<Port you want glftpd on>/tcp
  • Redémarrer le serveur :
# killall -HUP inetd
  • modifier la crontab :
# vi /var/spool/cron/crontabs/root

Commandes basiques

  • site gadduser GROUP username userpass *@IP
  • site deluser username
  • site renuser username newusername
  • site addip username *@IP
  • site delip username *@IP
  • site groups : liste les groupes disponibles
  • site ginfo GROUP : info sur un groupe
  • site chgrp username NEWGROUP : ajouter un utilisateur dans un groupe ou le supprimer de ce groupe
  • site kick username
  • site change username max_dlspeed value: 0 pour illimité
  • site chpass <user> <password>

Liens

Installation d'un eggdrop

L'Eggdrop est un bot IRC (roBOT), écrit en C en décembre 1993 pour arrêter les guerres incessantes sur #gayteen. Eggdrop est un robot qui reste sur un channel et prend des mesures pour le protéger, par exemple. Il peut empêcher les TakeOvers (prises de pouvoir) sur le channel, il cherche et kicke les personnes bannies par les Ops, il permet de donner des privilèges à certains utilisateurs...

J'ai installé un eggdrop pour allez sur un chan IRC avec SSL. On télecharge donc le dernier eggdrop stable (1.6.17) et le patch SSL : http://www.egghelp.org/files.htm

On commence par le décompresser et le patcher

# tar xvjf eggdrop1.6.17.tar.bz2 -C /home/fred
# tar xvzf eggdrop1.6.17-ssl.diff.gz -C /home/fred/eggdrop1.6.17
# cd /home/fred/eggdrop1.6.17
# patch -p1 <  eggdrop1.6.17-ssl.diff

Passons à la compilation : vi INSTALL

# ./configure
# make config
# make install DEST=/glftpd/sitebot ==> je n'utilise le eggdrop que pour le sitebot du serveur FTP

Voila la grosse étape, configuer son fichier de conf.

# cd /glftpd/sitebot
# vi NEMAKO.conf

Il faut lancer la première fois l'eggdrop avec l'option -m

# ./eggdrop -m NEMAKO.conf

Il faut alors allez sur IRC et se faire connaitre auprès du eggdrop

./msg |NEMAKO| hello
./msg |NEMAKO| pass newMDP

Pour le configurer, nous pouvons soit le faire en DCC chat, soit en telnet. Dans mon cas je suis derrière un nat je ne peux donc pas faire de DCC avec mon bot. Donc je me connecte en telnet sur le port spécifié dans le fichier de conf (listen <port> all). On peut alors ajouter les chans.

#telnet localhost <port>
(...)
.+chan #MonChan
.chanset #MonChan chanmode +k lemotdepasse

On peut ensuite lancer l'eggdrop sans l'option -m.

Pour plus de stabilité il est possible de créer une crontab pour l'eggdrop. Le fichier botchk est a copier puis configurer depuis /home/fred/eggdrop1.6.17/scripts.

# cp /home/fred/eggdrop1.6.17/scripts/botchk /glftpd/sitebot/botchk 
#cat /var/spool/cron/crontabs/fred
0,10,20,30,40,50 * * * * /glftpd/sitebot/botchk >/dev/null 2>&1

Commandes basiques

# afficher les détails d'un user
.whois Daffys 
#changer les flags d'un user
.chattr Daffys +o #Nemako 
#autoop les gens avec le flag +o
.chanset #Nemako +autoop
#information d'un chan
.chaninfo #Nemako
#ajouter le sitebot sur un chan
.+chan #MonChan
#mettre la clé du chan
.chanset #MonChan chanmode +k lemotdepasse

Liens

Installation du sitebot

Nous pouvons maintenant ajouter le sitebot. Tout se trouve dans /home/fred/project-zs-ng_r1694-rc3/sitebot/. Et rien de spécial pour l'installation. Ensuite on peut modifier son thème et sa config: /glftpd/sitebot/pzs-ng/themes/nemako.zst et /glftpd/sitebot/pzs-ng/dZSbot.tcl.

Fichiers importants

  • /etc/glftp.conf
  • /etc/services
  • /etc/inetd.conf
  • /glftpd/sitebot/NEMAKO.conf
  • /glftpd/sitebot/botchk
  • /glftpd/sitebot/pzs-ng/themes/nemako.zst
  • /glftpd/sitebot/pzs-ng/dZSbot.tcl
  • /var/spool/cron/crontabs/root
  • /var/spool/cron/crontabs/fred