Administration sous Fedora Core

       Ce fichier rassemble des informations sur l'administration en géréral de Linux (en particulier pour Fedora Core de RedHat).

0. Configuration du réseau
1.
Utilisation de vi
2. Commandes
3. Gestion des services
4. Serveur Apache
5. Serveur Samba
6. Serveur ProFTP
7. Serveur MySQL
8. Serveur BIND
9. RPM

10. VncServer
11. Partitionnement
12. Crontab
13. NX server
14. Clam-AV
15. Squid
16. Hylafax
17. Gestion de fichier
18. Serveur RSync
19. FTP


Copyright © by Martial DUPRAZ (2004-2005)

0. Configuration du réseau

Voici les fichiers à configurer ainsi que les valeurs à insérer afin de configurer le réseau sur une machine linux.

/etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=none
TYPE=Ethernet
DEVICE=eth0
MTU=""
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
IPADDR=192.168.0.253
NETWORK=192.168.0.0
ONBOOT=yes
Activation du DHCP
Type de trame
Carte réseau concernée
Maximum Transfert Unit
Masque de sous reseau
Adresse de broadcast
Adresse IP de la machine
Adresse IP du reseau
Active au démarrage
/etc/sysconfig/network
NETWORKING=yes
GATEWAY=192.168.0.254
HOSTNAME=proxy
Activation du réseau
Passerelle
Nom d'hote
/etc/resolv.conf
nameserver 192.168.0.253
nameserver 127.0.0.1
Serveur DNS Primaire
Serveur DNS Secondaire

 

 

 

 

 

 

 


Retour Sommaire

1. Utilisation de vi

vi est un des éditeurs de textes les plus célèbres, pour le lancer :

vi nom_du_fichier

pour passer en mode insertion i

pour passer en mode commande esc

pour sauver le fichier (en mode commande) :w

pour quitter (en mode commande) :q

supprimer un caractère (en mode commande) x

supprimer une ligne (en mode commande) dd

copier une ligne (en mode commande) yy

coller une ligne (en mode commande) pp

quitter un fichier sans enregistrer :q!


Retour Sommaire

2. Commandes

1. tar
2. ls
3. find
4. rm
5. ps & kill
6. du
7. ifconfig
8. user
9. chmod
10. mount
11. grep
12. apt
 

2.1. tar

tar est la commande utilisée pour effectuer des sauvegardes avec ou sans compression vers des fichiers d'archives ou des périphériques.

tar -Pcvf /dev/st0 /Server (copie le dossier /Server sur le périphérique /dev/st0)

tar -xvf /dev/st0 /Server (extrait le dossier /Server depuis le périphérique /dev/st0)

tar -cf NX.tar fichier1 fichier2 fichier3 (créer une archive NX.tar contenant les fichiers : fichier1 fichier2 fichier3)

Options diponibles pour tar

-P
-c
-x
-f
-v
-z

Présèrve le / dans l'archive
Crée une nouvelle archive
Extrait de l'archive
Spécifie le fichier de destination
Affiche les fichiers traités
Compresse/Décompresse avec gzip

-d
-r
--totals
-u
-A
-

Compare une archive à des fichiers
Ajoute des fichiers à la fin d'une archive
Affiche la taille de l'archive
Met à jour une archive
Ajoute des fichiers à une archive
-

2.2. ls

La commande ls sert à lister les fichiers et dossiers sur un disque.

Options disponibles pour ls

       

2.3. find

La commande find sert à retrouver un fichier ou un dossier sur un disque.

Exemples pour find

find / -name monfichier (recherche dans toute l'arborescence le fichier monfichier)

2.4. rm

La commande rm sert à supprimer un fichier ou un dossier.

Exemples pour rm

rm -r /nomdossier (supprime le dossier mondossier et tous ses enfants)

2.5. ps & kill

La commande ps sert à voir les processus actifs
La commande kill sert à tuer ou à redémarrer un processus.

Exemples pour ps et kill

ps -ax | more (affiche la listes des processus et marque une pause à chaques écrans
kill 123 (arrête le processus portant le numéro 123)

2.6 du

La commande du sert à afficher la taille d'un dossier.

Exemples pour du

du (affiche la taille du dossier courant en octets)
du -sh (affiche la taille du dossier courant avec une taille lisible)

2.7. ifconfig

La commande ifconfig sert à afficher ou modifier les paramètres d'une carte réseau et se situe dans /sbin/.

2.8. useradd, passwd, groupadd, usermod

Ces commandes servent à gérer les utilisateurs d'un système Linux.

Ajout et suppression d'un groupe
/usr/sbin/groupadd plaine --- /usr/sbin/groupdel plaine
Ajout et suppression d'un utilisateur
/usr/sbin/useradd -g plaine -d /home/dh dh --- /usr/sbin/userdel -r dh
Ajout de son mot de passe
/usr/sbin/passwd dh
Intégration de l'utilisateur dans le groupe root
/usr/sbin/usermod -g root dh

Liste des utilisateurs : /etc/passwd
Liste des groupes : /etc/group

2.9 chmod

La commande chmod permet de modifier les droits (lecture, écriture, exécution) sur un fichier ou un dossier selon les utilisateurs (utilisateurs, groupes, autres). Il suffit d'additionner les nombres afin d'affecter les droits.
Nous changeons les droits sur le fichier /toto.

 
User
Group
Other
  chmod 700 /toto (l'utilisateur seul à tous les droits sur son fichier)
chmod 750 /toto (l'utilisateur à tous les droits et son peut lire et exécuter)
chmod 770 /toto (l'utilisateur a tous les droits et son groupe aussi)
chmod 775 /toto (l'utilisateur et son groupe ont tous les droits, les autres peuvent lire et executer)
chmod 777 /toto (Tout le monde a tout les droits)
Read
400
40
4
Write
200
20
2
Execute
100
10
1

2.10 mount

La commande mount ser à "monter" un périphérique de stockage dans un dossier afin de pouvoir le lire.

mount /dev/cdrom /mnt/cdrom
mount -t vfat /dev/sda1 /mnt/usb
Monte le lecteur CD dans /mnt/cdrom
Monte la clé USB dans /mnt/usb

2.11 grep

La commande grep sert a rechercher une chaine de caractère dans une entrée donnée.

grep -r tagada /Server
rpm -qa | grep -i httpd
Recherche dans /Server les fichiers contenant tagada
Recherche si le rpm httpd est installé

2.12 apt

La commade apt n'est pas installée par défaut. Il faut télécharger le rpm et l'installer. Ensuite, on pourra télécharger et installer les rpm que l'on voudra.

apt-get update
rpm -qa install dovecot
Met à jour la base de données de téléchargement
Télécharger et installe le paquetage dovecot


Retour Sommaire

3. Gestion des services

Pour arreter, démarrer ou redémarrer un service, les scripts se trouve dans /etc/rc.d/init.d/, il faut alors taper la commande suivante :

/etc/rc.d/init.d/httpd restart (redémarrage du serveur web Apache)

Les possibilités sont : start, stop, restart et status.

Liste des principaux services

Serveur Web Apache
Serveur ProFtp
Serveur de fichiers Samba
Serveur MySQL
Serveur PHP
Service réseau
Service d'impression
Firewall
Serveur DNS

httpd
proftpd
smb
mysqld
phpd
network
cups
iptables
named


Pour lancer un service au démarrage, taper : /sbin/chkconfig --level 345 named on (lancera named à chaque démarrage)


Retour Sommaire

4. Serveur Apache

Le serveur Apache est un serveur Web très utilisé sur Internet. Sa configuration se fait dans le fichier httpd.conf.

On peut sécuriser un serveur Apache à l'aide du fichier .htaccess situé dans le répertoire que l'on veut sécuriser et stocker le login et mot de passe dans le fichier .htpasswd situé sur le serveur.

Stucture du fichier httpd.conf

ServerRoot "/etc/httpd" (définit où le serveur Web est installé)

Listen 80
(définit le port d'écoute)

AddDefaultCharset ISO-8859-15

Document Root "/Server/Web"
(dossier contenant le site Web)

Directory "/Server/Web"
(ossier contenant le site Web)

DirectoryIndex index.html index.htm index.php
(définit le/les documents de départ)

AccessFileName .htaccess
(définit le fichier de mot de passe)

<Directory /Server/Web/Private>
(---> Section de protection d'un dossier )
Options Indexes Includes FollowSymlinks MultiViews
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

Le fichier .htaccess est à placer dans le répertoire que l'on veut sécuriser (ici Private).

Structure du fichier .htaccess

AuthUserFile /var/www/pass/.htpasswd (définit ou le fichier des login et password est stocké)
AuthName "Accès protégé" (ce message s'affichera dans la boite d'authentification)
AuthType Basic

<Limit GET POST>
Require valid-user
</Limit>

Pour des raisons de sécurité, il ne faut pas placer le fichier .htpasswd dans le site Web.

Création du fichier .htpasswd

[root@glop root]# htpasswd -c /var/www/pass/.htpasswd toto (-c est utilisé pour créer le fichier)
New password:
Re-type new password:
Adding password for user toto

[root@glop root]# htpasswd /var/www/pass/.htpasswd tutu
New password:
Re-type new password:
Adding password for user tutu



Retour Sommaire

5. Serveur Samba

5.1. Mode Standalone

Le serveur Samba est un serveur de fichiers pour les clients Windows. Sa configuration s'effectue dans le fichier smb.conf

Options du fichier smb.conf

workgroup = Workgroup (Nom du groupe de travail Windows)
serverstring = Serveur Samba
force directory mode = 777 (Force le chmod pour les dossiers)
force create mode = 777 (Force le chmod pour les fichiers)
unix charset = 8859-15

[Nom-du-partage]
(Nom vu sur le réseau)
comment = Commentaire sur le partage
path = /home/share/
(Chemin d'accès au partage)
validusers = tfoxcarole
public = no
writable = yes
printable = no
create mask = 0777
(Définit le mode de création des fichiers)
create directory = 0777
(Définit le mode de création des dossiers)


Utilisateurs Samba
smbpasswd -a dh (Ajoute l'utilisateur dh et le pass)
smbpasswd -x dh (Supprime l'utilisateur dh)
smbpasswd -d dh (Désactive l'utilisateur dh)
smbpasswd -e dh (Active l'utilisateur dh)

 

Connexion à un partage Samba ou Windows
mount -t smbfs -o username=toto,password=pass //192.168.0.161/Tools /Server/Net (Monte le partage Tools)
umount -t smbfs //192.168.0.161/Tools (Démonte le partage précédemment créer)

5.1. Mode Controleur de domaine

Le serveur Samba peut agir en tant que controleur de domaine sur un réseau afin de gérer les ouvertures de session des postes clients.

Options du fichier smb.conf

[Global]
workgroup = domain
(Nom du groupe de travail Windows)
unix charset = 8859-15
netbios name = CPD1
serverstring = Serveur Samba
hosts allow 192.168.0 127.0.0
security = domain
encrypt passwords = yes
password server = 127.0.0.1
unix password sync = yes
passdb backend = tdbsam
pam password change = yes
-----
add user script = /usr/sbin/useradd -d /dev/null -g machines -c "Machines Account" -s /bin/false -M %u
logon path =
(Ne mettre aucune valeur si pas de profils)
logon home = (Ne mettre aucune valeur si pas de profils)
logon drive = H:

domain logons = yes
os level = 64

logon script = logon.bat
domain master = yes
preferred master = yes

[homes]
comment = Home Directories
browseable = no
writable = yes

[netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
writable = no

[Public]
path = /Datas
public = yes
directory mode = 777
create mode = 777
wide links = no
writable = yes

La commande testparm permet de tester le serveur Samba.
La commande smbclient -L //host -U% permet de tester les connexions au domaine.


Maintenant, ajoutons les machines qui pourront se connecter au domaine.

addgroup pc (on ajoute le groupe de machine PC)
adduser nom_client$ -g pc -s /dev/false -d /dev/null (on ajoute au groupe la machine en question)
smbpasswd -m -a nom_client$ (on ajoute cette machine au fichier Samba)

Notons qu'il faut ajouter un $ après le nom de la machine.

Modifications sur les clients Windows
Windows XP :
[HKEY_LOCAL_MACHINE\ SYSTEM\ ControlSet001\ Services\ Netlogon\ Parameters] "requiresignorseal"=dword:00000000

Nous alllons mettre en place une stratégie de mot de passe. Nous utiliserons la base SAM "tdbsam" qui est le fichier /etc/samba/passdb.tdb. Nous modifierons le fichier /etc/pam.d/samba afin de gérer les synchronisations entre les mots de passe, puis nous verrons comment ajouter des policies sur les mots de passe avec l'utilitaire pdbedit.

Migration de smbpasswd vers tdbsam
pdbedit -i smbpasswd -e tdbsam (ceci va créer le fichier passdb.tdb)
Modification de /etc/pam.d/samba
Ajouter ces 2 lignes :
password    required    pam_smbpass.so nullok use_authtok try_first_pass
session    required    pam_unix.so
Gestion des policies
pdbedit -u md -v (affiche toutes les informations de l'utilisateur md)
pdbedit -L (affiche les utilisateurs samba)
pdbedit -P "maximum password age" -C 2592000 (les mots de passe seront à changer tous les mois)
pdbedit -P " password history" -C 4 (le mot de passe est mémorisé sur 4 changements)

Attention, il faut changer le mot de passe de l'utilisateur pour qu'on obtienne le changement de la policy dans l'utilisateur. Les policies disponibles sont : minimum password age, reset count minutes, disconnect time, user must logon to change password, password history, lockout duration, min password length, maximum password age, bad lockout attempt



Retour Sommaire

6. Serveur ProFTP

Le serveur ProFTP est un serveur ftp qui permet de servir des fichiers depuis n'importe où.

Options du fichier proftpd.conf

ServerName "Serveur FTP" (Nom du serveur FTP vu par les utilisateurs)
ServerType standalone (Le serveur est autonome)
DefaultServer on (Par défaut, il est en route)
Port 21 (Il écoute sur ce port)
Umask 000 (Masque de création en Upload)
MaxInstance 30 (Nombre maximale de connexions simultanées)

User root
Group root

<Global>
DefaultChdir /Server/Files
RootLogin on
AllowOverwrite on
DefaultRoot /Server/Files
</Global>

AllowRetrieveRestart on
AllowStoreRestart on
TransferLog on

 

 

 

 

 

 

 


 

 


Retour Sommaire

7. Serveur MySQL

Le serveur MySQL est un serveur de base de données tout comme SQL Server.

Quelques commandes avec MySQL

mysql nom_db (passer en ligne de commande MySQL)
source /nom/fichier.sql
(importer le dump d'une base MySQL)
show tables;
(voir toutes les tables)

mysqldump nom_db > /mon/chemin/nomdb.sql (créer un dump de la base de données)
mysql -p nomdb < /mon/chemin/nomdb.sql (restaurer le dump de la base de données)

mysql mysql
(acceder à la base de données système)
select Host, User, password from user;
(voir les utilisateurs)



Retour Sommaire

8. Serveur BIND

Le serveur BIND est un serveur DNS qui permet de faire de la résolution de nom en local ainsi que de forwarder les requêtes vers l'extérieur du réseau.
Par contre, je n'installe pas le RPM bind-chroot, si vous l'installez, les chemins d'accès à certains fichiers changeront.

Fichier root.hints

$ dig root-server.net . ns>/var/named/root.hints (Création du fichier root.hints)
$ cat /var/named/root.hints (Ce fichier contient les informations des serveurs racines)


Authentification avec rndc

$ /usr/sbin/dnssec-keygen -a hmac-md5 -b 128 -n user rndc (génération de la clé cryptée)
Krndc.+157+14529

$ cat Krndc.+157+14529.private (création des fichiers avec la clé cryptée)
Private-key-format: v1.2
Algorithm : 157 (HMAC-MD5)
Key : zB3EXORgtXgKTUV2U028Tw==


Fichier rndc.conf

# Remplacer le “secret par la clé générée ci-dessus.
server localhost {      key      rndc;
};
key rndc {
     algorithm hmac-md5;
     secret "zB3EXORgtXgKTUV2U028Tw==";
};
options {
     default-server localhost;
     default-key "rndc";
};


Fichier named.conf

options {
     directory "/var/named"; (Définit où le serveur DNS fonctionne)
forward first;
     forwarders {
           193.252.19.3; (Définit les adresses des serveurs DNS sur FAI)
           193.252.19.4;
          };
};
controls {(Définit qui à le droit de faire tourner le serveur DNS)
     inet 127.0.0.1
          allow { 127.0.0.1; }
          keys { rndc; }; (Spécifie le nom de la clé de cryptage)
};
key rndc {
     algorithm hmac-md5; (Spécifie le nom de l'algorithme utilisé)
     secret "zB3EXORgtXgKTUV2U028Tw=="; (Spécifie la valeur de la clé decryptage)
};

zone "." {(Ceci est la zone de recherche pour tous les noms de domaines)
     type hint;
     file "root.hints";
};

zone "0.0.127.in-addr.arpa" {(Ceci est la zone de recherche de loopback)
     type master;
     file "127.0.0";
};

zone "habiter.local" {(Ceci est la zone de recherche du réseau local)
     type master;
     file "192.168.0";
};

zone "0.168.192.in-addr.arpa" {(Ceci est la zone de recherche inverse du réseau local)
     type master;
     file "0.168.192";
};

# Les informations du type file font référence aux fichiers de zone à créer dans /var/named/


Fichier 127.0.0

$TTL  2D
@      SOA      localhost. hostmaster.habiter.local. (
                     2005090101;
                     24h;
                     2h;
                     3600000;
                     1h);
        NS        localhost.
1      PTR      localhost.


Fichier 192.168.0

$TTL    2D
@        SOA        redhat.habiter.local root.habiter.local. (
                          20050104;
                          24h;
                          2h;
                          3600000;
                          1h);
            NS    redhat.habiter.local.
redhat  A      192.168.0.1
md        A      192.168.0.161
srv        A      192.168.0.21


Fichier 0.168.192

$TTL    2D
@        SOA        redhat. root.habiter.local. (
                          20050122;
                          24h;
                          2h;
                          3600000;
                          1h);
           NS           localhost.
1         PTR          redhat.
21       PTR          srv.
161     PTR          md.


Fichier resolv.conf

search habiter.local
nameserver 127.0.0.1


Test de la configuration

/usr/sbin/named-checkconf (Teste le fichier de configuration named.conf)
/usr/sbin/named-checkzone filename /var/named/xxx.xxx.xxx (Teste le fichier de la zone xxx.xxx.xxx)

Redémarrer le démon Named et tous doit fonctionner (en théorie), sinon bonne chance et surtout bon courage.


Retour Sommaire

9. RPM

Options disponibles pour rpm

-i
-U
-F
-e
-v
--nodeps

Installe un nouveau package
Met à jour ou installe un package
Met à jour un package
Désinstalle un package
Affiche des message sur le déroulement
Supprime la vérification des dépendances

-q
-a
-f
-l
-h
--scripts

Fais une requête sur un RPM, installé ou non
Avec -q : interrogation de tous les packages
Avec -q : la requête concerne un fichier RPM non installé
Liste les fichiers constituant le package
Affiche des "#" lors de l installation
Affiche les scripts lancés pour (dés)installation


Installation d'un packetage
rpm -ivh /Server/Tools/clamav0.83-2.rpm
Recherche d'un paquetage installé
rpm -qa | grep -i sql (le -i permet d'outrepasser le respect de la casse en cas de majuscule sur le nom du rpm sql)
Suppression d'un paquetage
rpm -ev clamav0.82-2.rpm



Retour Sommaire

10. VncServer

/root/.vnc/xstartup

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startgnome & (Définit que l'interface Gnome sera utilisée)


Lancement et configuration

vncserver (Lancement du serveur VNC)
Password : (Saisir le mot de passe VNC)
Verify : (Confirmer le mot de passe VNC)




Retour Sommaire

11. Partitionnement

Suppression de la partition

/sbin/fdisk /dev/hdd
Tapez d puis w

Création de la partition
/sbin/fdisk /dev/hdd
Tapez n et suivez les instructions
Création du système du fichier
/sbin/mkfs.ext3 /dev/hdd1



Retour Sommaire

12. Crontab

Le service crontab va servir à lancer des scripts automatiquement. Pour ouvrir ce service, tapez crontab -e.

Il va falloir saisir le fichier de cette manière : minute heure jour mois semaine commande

Exemples de planification de tâches
00 23 * * * /Server/Scripts/./Sauve.sh Sauvegarde tout les jours à 23 H
0,15,30,45 * * * * /Server/Scripts/.fetchmail.sh Vérification des mails tous les quarts d'heure
0 1 1 * * /Server/Scripts/./script.sh Exécution 1er jour de chaque mois
0 1 * * mon /Server/Scripts/./script.sh Exécution tous les lundis
0 1 1,15 * * /Server/Scripts/./script.sh Exécution le 1er et le 15 de chaque mois
0 1 1-15 * * /Server/Scripts/./script.sh Exécution tous les jours entre le 1er et le 15
1 */5 * * /Server/Scripts/./script.sh Exécution tous les 5 jours (1, 6, 11...)



Retour Sommaire

13. NX Server

Le server NX est l'équivalent du serveur Citrix sous Microsoft. La partie serveur s'installe sur la machine Linux qui doit être gérée à distance et s'appuie sur SSH. La partie cliente s'installera sur Windows.

Partie Serveur
rpm -ivh compat-libstdc++-8-3.3.4.2.i386.rpm (dépendance requise)
rpm -Uvh nx-1.4.0-0.fdr.4.i386.rpm
rpm -Uvh freenx-0.3.1-0.fdr.0.noarch.rpm
scp /var/lib/nxserver/home/.ssh/client.id_dsa.key md@192.168.5.15 (user@adresseIP)
vi /var/lib/nxserver/home/.ssh/client.id_dsa.key
(contient la clé du serveur, copier la)

Partie Cliente

Installer le logiciel NX-Client
Copier le contenu du fichier client.id_dsa.key dans le fichier :
C:\Program Files\NX Client for Windows\share\client.id_dsa.key

Configurer le client NX avec les infos nécessaires.




Retour Sommaire

14. Clam-AV

Le programme Clam-AV est un antivirus très performant.

clamd.conf
LogFile /var/log/clamav/clamd.log (Définit le fichier de log)
TCPSocket 3310 (Définit le port d'écoute du demon)
TCPAddr 127.0.0.1 (Définit l'adresse d'écoute du démon)

Utilisation
freshclam -l /Server/Rapports/RAP-AV-MAJ.txt (Met à jour l'antivirus et écris le rapport)
clamscan -r / -l /Server/Rapports/RAP-AV.txt (Scanne tout le système et écris le rapport)
clamscan -r / --move /Server/Virus (Scanne tout le système et déplace les fichiers vérolés)



Retour Sommaire

15. Squid

15.1. Mode normal

Le programme Squid est un serveur proxy. Les clients auront à spécifier le proxy dans leurs navigateurs.

squid.conf

visible_hostname proxy (Définit le nom d'hote du serveur Squid)
http_port 3128 (Définit le port d'écoute du serveur)
dns_nameservers 192.168.0.15 127.0.0.1 (Définit les serveurs DNS à utiliser)
error_directory /etc/squid/errors (Définit le répertoire contenant les pages d'erreurs)
cache_store_log none (Désactive le log des enregistrements et suppression des objets)
ftp_user titi@free.fr (Fournis l'adresse mail pour la connexion au serveur FTP en anonyme)
cache_mgr m.dupraz@groupe-habiter.com (Fournit l'adresse mail de l'administrateur réseau)
cache_dir ufs /Server/Squid 1000 16 256 (Définit le stockage du cache et la taille à 1 Go)
logfile_rotate 10 (Nombre de rotation des logs)
cache_access_log /Server/Squid/Access.log (Définit le fichier enregistrant les requêtes des clients)

acl consul src 192.168.0.0/255.255.255.0 (Définit une acl consul pour le reseau local)
...
http_access allow consul (Donne l'accès au Web à l'acl consul)


15.2. Mode transparent

Il peut être judicieux de paramétrer le proxy en mode transparent afin que les utilisateurs n'aient pas le choix pour acceder à Internet et que l'on ne soit pas obligé de paramétrer chaque PC du parc.

Tout d'abord, il faut rajouter ces lignes dans le fichier de configuration de Squid.

squid.conf

httpd_accel_host proxy
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Il faut activer le routage afin que le proxy soit la passerelle par défaut du réseau.

sysctl.conf

net.ipv4.ip_forward=1 (Activation du routage sur le serveur)



Modifications du système

# iptables -t nat -F
# iptables -t nat -A POSTROUTING -j MASQUERADE
# /sbin/iptables -t nat -A PREROUTING -j DNAT -i eth0 -p TCP --dport 80 --to-destination 192.168.0.253:3128

Nettoyage des tables nat si besoin
Laisse passer les requêtes autres que sur le port 80
On redirige les requêtes arrivantes sur le port 80
vers le port 3128

Il faut maintenant redémarrer les services réseaux et squid et mettre en passerelle sur le client l'adresse IP du serveur Squid.

15.3. Visualisation des accès

Après avoir installer Squid avec succès, nous pouvons installer sarg qui va nous permettre d'analyser les logs de Squid afin de savoir qui fait quoi sur internet.
Je pars du principe qu'un serveur Apache est fonctionnel et que son répertoire est /Server/Web.

sarg.conf
access_log /var/log/squid/access.log (Définit le fichier de log utilisé par Squid)
output_dir /Server/Web (Definit le répertoire de sortie pour les pages web)
resolve_ip yes (Affiche les noms des PC plutot que les adresses IP)

Procédons à la création des pages web.

sarg -l /Server/Squid/Access.log (Génère les pages web de squid dans le dossier prédéfinit)

rm -f /Server/Web/200* (Supprime les pages web afin d'en recréer plus tard)
/usr/sbin/squid -f /etc/squid/squid.conf -z (Vide le cache de Squid, il faut d'abord arrêter le service Squid)



Retour Sommaire

15. Hylafax

Le programme Hylafax est un serveur de fax sur lequel les clients envoient des fax qui seront émis vers l'exterieur.
Il faut d'abord installer les paquetages tiff, ghostscript et hylafax.

Test du modem
echo "ATZ" > /dev/ttyS0

Envoi un signal au modem, si le modem clignote ou bip, c'est qu'il est reconnu et qu 'il fonctionne

Installation du modem dans Hylafax

/usr/sbin/faxaddmodem

Serial port = ttyS0
Country code = 33
Code area = 04
Phone number = 0412345678
Local identification = Groupe Habiter Alpes
Long Distance Prefix 0
International Prefix 00
Dial String rules = etc/dialrules.europe

Le reste peut être laissé par défaut.

Lancement du script d'ajout de modem

Port COM1 (port du modem)
Code du pays (France)
Code de région (Sud Est)
Numéro de la ligne du fax
Nom de l'expediteur


Rêgles de numérotation utilisées


Il faut maintenant définir les postes de travail qui pourront utiliser le serveur de fax.

/etc/hylafax/etc/hosts.hfaxd

localhost
127.0.0.1
192.168.0.21
...

Il faut maintenant redémarrer hylafax ainsi que faxgetty. Pour cela, j'ai fais un script.

/Server/Scripts/Hylafax.sh

/etc.rc.d/init.d/hylafax restart
/usr/sbin/faxgetty -D /dev/ttyS0

Passons donc à la phase de test.

Test d'envoi de fax
sendax -n -d 0,0412345678 /Toto.pdf
faxstat -s
faxrm 23
Envoi le fichier Toto.pdf vers le numéro spécifié.
Permet de voir l'état de Hylafax
Supprime le job 23 (envoi de fax)

Pour utiliser hylafax avec des clients Windows, je vous conseille WHFC.



Retour Sommaire


15. Gestion sur les fichiers

Un chapitre concernant la gestion de fichier.

Suppression des fichiers selon une extension

find /home -name *.tmp -exec rm -iv {} \;


Recherche de fichier selon une date de modification

find / -mtime +30 -atime +30 -print


Recherche de fichier supérieur à 2 Mo

find / -type f -size +2000 -print




Retour Sommaire

16. Serveur RSync

Le serveur RSync sert à synchroniser des dossiers situés sur des postes distants avec lui même.
Il faut faire tourner le démon rsyncd, il s'appuie sur xinetd dans Fedora Core. Pour cela , éditez le fichier /etc/xinetd.d/rsync et modifiez le suivant cet exemple puis redémarrez le démon xinetd :

/etc/xinetd.d/rsync

service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

16.1. Initiative par le client


Nous allons configurer le serveur rsync afin que le client Microsoft puisse se synchroniser avec le serveur. Editez ou créez le fichier /etc/rsyncd.conf

/etc/rsyncd.conf

hosts allow = *
hosts deny = 192.168.0.14
[Web]
read only = false
path = /Server/Web

Pour le client, on configure un poste Windows avec le logiciel cwRSync. On crée un script dans C:\Program Files\cwRsync\bin qui s'appele Synchro.cmd.

Synchro.cmd

@echo off
"C:\Program Files\cwRsync\bin\rsync.exe" -uvrh /cygdrive/c/"Documents and Settings"/MD/"Mes documents"/Perso 192.168.0.10::Web

Ce script copie le dossier Perso dans le module Web du serveur RSync.


16.2. Initiative par le serveur

Nous allons configurer le serveur rsync afin que le client Microsoft agisse comme serveur, c'est donc le système RedHat qui agira comme client. Nous installons sur le PC Microsoft, le logiciel cwRSyncServer.

Attention : Sur Windows XP, le pare feu doit être désactivé.

rsyncd.conf

hosts allow = *
hosts deny = 192.168.0.14
[Web]
read only = false
path = /cygdrive/c/Documents and Settings/Administrateur/Mes documents
read only = false
transfer logging = yes