Outils pour utilisateurs

Outils du site


linux:memo_admin

Ceci est une ancienne révision du document !


Administration serveur

Quelques procedures d'install

Quelques opérations classiques

Ajouter un utilisateur pour du ftp

  • Pure-ftpd
#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

Configuration pure-ftpd

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.

Apache

Auth by group

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.

ssh

Créer un accès par clé

  • générer une paire de clés privée/publique (ssh-keygen ou puttygen.exe sous windows) au format ssh2
  • sur le serveur, copier la clé publique dans le fichier /home_du_user_concerne/.ssh/authorized_keys sur une ligne sous la forme

from=“IP.de.laquelle.on_veut_se_connecter” ssh-rsa cle_publique_complete adresse_mail@domaine.tld

  • dans le client ssh, préciser le nom du user et la clé privée à utiliser.
    • sous linux, ssh-keygen met automatiquement (lors de la génération) la clé privée dans $HOME/.ssh/id_dsa et la clé publique dans $HOME/.ssh/id_dsa.pub (id_rsa si on utilise rsa au lieu de dsa pour crypter).
    • sous windows, dans putty, créer une session où on précise session/host_name, (cocher ssh), Connection/auto-login username, Connection/SSH/Preferred SSH protocol version ⇒ 2, Connection/SSH/Auth/Private key file for authentification ; et enregiostrer cette session.

LVM

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…)

creation

# 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

infos

  • pvdisplay : infos sur les physical volumes déclarés
  • lvdisplay : infos sur les logical volumes déclarés

resize

  1. démontage (ici umount /dev/grosdisk/lv1, utiliser -l si ça veut pas pour cause de “resource busy”).
  2. lvextend -L+42G /dev/grosdisk/lv1 (ajoute 42Go)
  3. e2fsck -f /dev/grosdisk/lv1 pour vérifier le filesystem
  4. resize2fs /dev/grosdisk/lv1 pour resizer le filesystem (à la taille de la partition si pas de taille précisée)
  5. et on remonte mount /dev/grosdisk/lv1.

Paquets utiles

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 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

Install basique

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
# -nobackups (histoire de choix, j'aime pas la quantité de fichiers~ un peu partout, mais certains préfèrent ce "filet")
# --guess_non_utf8
# --guess_utf8
# --guess_crlf
# --guess_indent
# -autoswap (pour inverser ^k^b et ^k^k si besoin)
# * --autoindent # dans la section files, + loin
# 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…

linux/memo_admin.1223416660.txt.gz · Dernière modification : 07/10/2008 23:57 de daniel