#remplacer <login> par le login souhaité pure-pw useradd <login> -d /path/2/ftp/<login> -y 2 -N 1000 -u 1001 -g 1001 # cela va demander le pass # -y 2 => 2 connexions simu max # -N 1000 => 1000 Mo de quota # -u & -g correspondent à uid et guid (pas obligés de figurer dans /etc/passwd) # pour modifier un param, ici mettre le quota à 500Mo pure-pw usermod <login> -N 500 # ATTTENTION, une fois les modifs de users effectuées, il faut lancer pure-pw mkdb # pour que cela devienne effectif ! #lister tous les users et leur home pure-pw list # pour voir toutes les infos d'un user pure-pw show <login> # les autres commandes possibles pure-pw --help
Ex de conf sous debian sur http://www.littleboboy.net/archives/2004/09/28/exemple-de-configuration-de-pureftpd-sous-debian et une autre bonne doc sur http://www.labo-linux.org/cours/module-2/chapitre-02-pureftpd/
Les fichier de conf sont tous dans /etc/pure-ftpd/conf/. Pour les méthodes d'authentification, il s'agit de liens de /etc/pure-ftpd/auth/ vers certains /etc/pure-ftpd/conf/fichiers. Chaque fichier du rep de conf contient une valeur et a le nom du paramètre. pure-ftpd-wrapper (fournit par debian) lit ces fichiers de conf pour lancer pure-ftpd avec les bons params.
Pour gérer les accès par groupe, dans la conf du vhost
<Directory /path/2/dir/> AuthType Basic AuthName "Le libellé de la demande d'authentification" AuthUserFile /path/2/fichier.users.passwd AuthGroupFile /path/2/fichier.groups.users Require group group1 group2 </Directory>
Le fichier /path/2/fichier.users.passwd se remplit avec le classique htpasswd /path/2/fichier.users.passwd utilisateur_a_ajouter, et le fichier /path/2/fichier.groups.users a la syntaxe
group1: user1 user2 group2: user1 user3 # etc.
Une doc complète sur http://www.fredshack.com/docs/openssh.html
from="IP.de.laquelle.on_veut_se_connecter" ssh-rsa cle_publique_complete adresse_mail@domaine.tld
LVM (pour Logical Volume Manager) permet le resize de partition sans les effacer, (permet aussi d'avoir une même partition sur plusieurs disques physiques, de faire des snapshots de partition à chaud, etc…)
Pour manipuler les partitions, utiliser parted en GiB et le laisser aligner (en octets on doit tomber sur des multiples de 2MiB, donc commencer la partition 1 à 2097152B, soit 512x4096 B = 2 MiB), pour préciser que la partition n°2 sera en lvm, c'est (parted) set 2 lvm on
# creation de la partition (type Linux LVM, 8e) avec fdisk # on scanne vgscan -v # on créé le physical volume pvcreate /dev/sdbX # on créé le volume group vgcreate nomVolumeGroup /dev/sdbX # et enfin notre logical volume lvcreate -L xxxG -n nomVolumeLogique nomVolumeGroup; #ici, xxx Go mais on peut donner la taille en K ou M # et on a dispo notre /dev/nomVolumeGroup/nomVolumeLogique # reste à créer le filesystem mkfs -v -c -j -L monLabel /dev/nomVolumeGroup/nomVolumeLogique
umount /dev/grosdisk/lv1, utiliser -l si ça veut pas pour cause de "resource busy").lvextend -L+42G /dev/grosdisk/lv1 (ajoute 42Go)lvextend -l +300 /dev/grosdisk/lv1 (ajoute 300 PE, vgdisplay pour savoir combien il en reste de dispo)e2fsck -f /dev/grosdisk/lv1 pour vérifier le filesystemresize2fs /dev/grosdisk/lv1 pour resizer le filesystem (à la taille de la partition si pas de taille précisée)mount /dev/grosdisk/lv1.umount /dev/grosdisk/lv1, utiliser -l si ça veut pas pour cause de "resource busy").e2fsck -f /dev/grosdisk/lv1 pour vérifier le filesystemresize2fs /dev/grosdisk/lv1 50G pour resizer le filesystem à 50Golvreduce -L 50G /dev/grosdisk/lv1 (fixe à 50Go)mount /dev/grosdisk/lv1.Pour modifier un LV (activer ou pas le mirror par ex), c'est lvconvert.
Attention, pour avoir un mirror (raid1 sur au moins 2 PV donc), il faut au moins 3 PV (le 3e pour le log), sinon il répond qu'il y a pas assez de place (pour mettre son log, mais vu le message on comprend pas pourquoi il dit ça).
exemples
# Passer backup en raid1, on a crée 2 partition avec fdisk, un sdb3 de 10Go et un sdb4 du reste pvcreate /dev/sdb3 pvcreate /dev/sdb4 # on les ajoute au vg (vg2 ici) vgextend vg2 /dev/sdb3 vgextend vg2 /dev/sdb4 # et on peut passer notre lv "backup" en mirroir (attention, ça prend qq heures) lvconvert -m1 /dev/vg2/backup # si vraiment on peut pas avoir un 3e PV, on peut s'en sortir avec un log en RAM, mais ça demandera à lvm de le reconstruire à chaque boot), ça donnerait lvconvert -m1 --mirrorlog core /dev/vg2/backup # Pour supprimer le mirroir lvconvert -m0 /dev/vg2/backup # pour passer le log du disque en RAM (pour récupérer un PV par ex) lvconvert --mirrorlog core /dev/vg2/backup # et pour le remettre sur le disque lvconvert --mirrorlog disk /dev/vg2/backup # pour passer de linear en stripped, pour faire du raid0 et doubler les perfs disques (au prix de la sécurité des datas) lvconvert --stripes 2 --stripesize 256 /dev/vg2/video
Pour un serveur en debian etch, une liste de paquets utiles
# serveur apache / php5 / mysql5 mysql-server openssl apache2 libapache2-mod-auth-plain php5 php5-cli php5-curl php5-gd php5-imagick php5-mcrypt php5-ming php5-mysql php5-sqlite3 php5-tidy php5-xsl # autres services pure-ftpd nfs-user-server libapache2-svn nfs-user-server # utilitaires de base apt-file iftop joe findutils gcc hdparm htop lftp logrotate lynx make ntpdate perl python rsync screen sudo tethereal unzip whois zip # autres applis utiles munin phpmyadmin rsnapshot subversion # pour rsnapshot perl -MCPAN -e 'install qw(Lchown)' # pour un smtp minimal mailx ssmtp # pour activer le dépot multimedia (pas forcément utile sur un serveur de prod) debian-multimedia-keyring # utilitaires annexes imagemagick libfreetype6 lame # et pour les swftools, il faut aussi (enfin, pas vraiment car il refuse de compiler avec la lbc6 de etch) libfreetype6-dev libungif-bin t1lib-bin libjpeg62-dev libt1-dev libungif4-dev # pour des paquets perso vite faits (attention, pas dans etch, à prendre dans sarge car ceux de sid n'ont pas la bonne libc6) installwatch checkinstall
Sur un nouveau sd, install de base
# à la 1re connexion root, on change le passwd et on installe sa clé ssh # màj paquet aptitude update && aptitude upgrade && aptitude dist-upgrade # je commence par mon éditeur favori (remplacer joe par vim ou emacs pour les fans d'autres éditeurs) aptitude install joe # que l'on configure (-option en début de ligne pour l'activer, --option pour désactiver) joe /etc/joe/joerc # cf http://ll.lairdutemps.org/linux/aliases#joe # on passe au .bashrc avec .bash_aliases et .bash_prompt # on configure ses locales (en-GB.utf8 par défaut, en activant quand même fr.utf8 et iso-8859-1 pour en et fr) dpkg-reconfigure locales # on s'occupe de son hostname echo #myhost.domaine.tld# > /etc/hostname # scripts persos : mkdir /home/bin # un script pour envoyer un mail au reboot joe /home/bin/mailAfterBoot.sh chmod +x /home/bin/mailAfterBoot.sh # que l'on ajoute au rc.local joe /etc/rc.local # on peut passer à l'install des paquets "basiques" aptitude install apt-build apt-file iftop joe findutils gcc hdparm htop lftp logrotate lynx make ntpdate perl python rsync screen sudo tshark unzip whois zip
Ensuite, reste à installer les services voulus…