Translation in English (Google)  Übersetzung in Deutsch (Google)  Traducción en Español (Google) 
webmaster@smeserver.fr
 Version imprimable 

Astuces et howtos


But

Cette page sert à recenser le plus grand nombre d'astuces et de howtos utiles sous SME v7.x.
Comme il s'agit le plus souvent de modifier le comportement standard de SME et cela implique que vous soyez parfaitement conscient des altérations apportées au système avec les éventuels risques que cela peut comporter. Si vos connaissances de SME et de l'exploitation de la ligne de commande sont limitées, vous devriez absolument vous documenter sur le sujet avant d'exploiter le contenu de cette page.

Je vous encourage vivement à me faire part de nouvelles astuces à ajouter à cette liste en m'envoyant un mail. Merci d'avance pour votre aide.

Utilisateurs
Groupes
I-bays
Modifier le niveau complexité des mots de passe
Modifier le nombre maximal de caractères utilisables dans les noms
Autoriser un utilisateur à exploiter la ligne de commande
Réinitialiser le mot de passe du compte root
Apache Restreindre l'accès au service Apache ou le désactiver
Masquer le listing des fichiers dans les i-bays
Résoudre les noms d'hôte dans les logs
Personnaliser les messages d'erreur standards d'Apache
Créer une galerie de photos dans une i-bay avec phpWebGallery
PHP Visualiser les messages d'erreur PHP sous Apache
Autoriser les scripts PHP à accéder à certains répertoires
Autoriser l'accès aux fichiers distants
Modifier la taille des fichiers pouvant être envoyés sur le serveur
MySQL Créer des utilisateurs MySQL
Accéder au serveur MySQL depuis le réseau
Messagerie Modifier le nombre maximal de connexions IMAP simultanées
Visualiser dans le webmail les messages envoyés en HTML
Limiter la taille des courriels pouvant être envoyés
Supprimer les "double bounce"
Forcer un serveur SMTP tiers pour certains domaines destinataires
Supprimer les alertes de rkhunter concernant l'accès SSH par root
Samba Changer le commentaire associé au serveur
Autoriser tout le monde à utiliser les imprimantes
Système de fichiers Utiliser un disque dur supplémentaire pour stocker une ou plusieurs i-bay(s)
Réseau Ouvrir un port réseau sur l'interface externe pour un service
Limiter l'accès à certains services sur l'interface externe
Désactiver le proxy transparent
Créer et utiliser des paires de clés SSH
Modifier le niveau d'enregistrement des évènements du pare-feu
Mettre à jour plusieurs domaines DynDNS (service gratuit)
Bloquer de façon permanente des adresses IP externes


Convention typographique

Afin de vous faciliter la compréhension de qui apparait à l'écran, j'ai mis en place le code couleur suivant :

En blanc : ce que vous devez taper
En magenta : les éléments que vous devez taper, en fonction de vos besoins
En cyan : ce qui est affiché par le système


Bloquer de façon permanente des adresses IP externes

Si, par malheur, vous êtes ennuyé par un gros pénible sur Internet, vous pouvez bloquer toutes ses requêtes à destination de votre serveur. Pour cela, vous devez connaître son adresse IP (ou une plage d'adresses).

Vous allez devoir créer un nouveau fragment de template et l'éditer avec votre éditeur favori (mcedit, vi, pico, nano, etc.) :

mkdir -p /etc/e-smith/templates-custom/etc/rc.d/init.d/masq
mcedit /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/91DropIP

Pour bloquer l'adresse IP 1.2.3.4, par exemple, vous pouvez taper dans ce fichier :

# Static drop IP start
{
        $OUT .= "    /sbin/iptables -I INPUT -i \$OUTERIF -s 1.2.3.4 -j DROP\n";
}
# Static drop IP end

Et pour des plages d'adresses IP :

# Static drop IP start
{
        $OUT .= "    /sbin/iptables -I INPUT -i \$OUTERIF -s 2.3.4.0/24 -j DROP\n";
        $OUT .= "    /sbin/iptables -I INPUT -i \$OUTERIF -s 3.4.0.0/255.255.0.0 -j DROP\n";
}
# Static drop IP end

Comme vous pouvez le voir, si vous devez bloquer plusieurs adresses (ou plages d'adresses)) distinctes, vous devez créer une ligne par adresse.

Il ne reste plus qu'à faire prendre en compte cette modification par le système :

signal-event remoteaccess-update


Bloquer de façon permanente plusieurs adresses IP externes contenues dans un fichier

Maintenant, supposons que vous soyez confrontés à de nombreux pénibles... Je vous propose de créer un fichier /etc/masq_DropListOfIP qui contiendra des adresses et/ou des plages d'adresses IP devant être bloquées :

mcedit /etc/masq_DropListOfIP

Ce fichier ne doit contenir que des adresses ou plages d'adresses IP (une seule par ligne) et doit donc ressembler à ceci :

1.2.3.4
2.3.4.0/24
3.4.0.0/255.255.0.0

(attention à bien respecter la normalisation des adresses, les contrôles de validité des adresses et masques étant plutôt légers)

Passons maintenant à la création du fragment de template :

mkdir -p /etc/e-smith/templates-custom/etc/rc.d/init.d/masq
mcedit /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/91DropListOfIP

Ce nouveau fragment contiendra le code suivant :

# Static drop IP start
{
        use Net::IPv4Addr qw(:all);

        open (F_DROP, "</etc/masq_DropListOfIP") || warn "Cannot open input file /etc/masq_DropListOfIP: $!\n";
        while ($line = <F_DROP>) {
                chomp($line);
                if ($line ne "") {
                        ($ipaddress, $netmasq) = split(/\//, $line);
                        $ipaddress = ipv4_chkip($ipaddress);
                        if ( defined $ipaddress ) {
                                if ( defined $netmasq ) {
                                        $ipaddress = ipv4_network($ipaddress, $netmasq);
                                }
                                $OUT .= "    /sbin/iptables -I INPUT -i \$OUTERIF -s $ipaddress -j DROP\n";
                        }
                }
        }
        close(F_DROP);
}
# Static drop IP end

Là aussi, il faut faire prendre en compte cette modification par le système :

signal-event remoteaccess-update

L'intérêt principal de cette deuxième méthode est que le fichier /etc/masq_DropListOfIP peut être facilement créé à la volée par d'autres programmes.


Contrat Creative Commons smeserver.fr
Site consacré à la distribution Linux SME Server
Site sous licence Creative Commons (by, nc, sa)