XII. Installation d'un serveur Samba pour une gestion de backup▲
L'objectif de cette installation est de permettre à un serveur Win32 d'accéder à la station Debian en Netbios de façon à ce qu'il puisse récupérer les données sauvegardées que nous mettons à sa disposition.
La gestion du backup du système en lui même est présentée dans la partie Backup du système sur une partition spécifique de ce document.
Pour réaliser notre objectif, il n'est pas nécessaire de procéder à l'installation de l'ensemble des packages relatifs à Samba. Pour la même raison, nous n'abordons pas l'utilisation d'un client Samba ou de systèmes de fichiers de type Samba dans cette partie.
XII-A. Installation▲
On récupère les packages :
apt-get update
apt-get install samba samba-doc -d
=> Acceptez les packages : 'libcupsys2 samba samba-common samba-doc'.
On vérifie leur signature :
cd /var/cache/apt/archives/
for i in `echo *.deb` ; do md5sum $i;done
86ece906e4f6bf1607758894a217c9bd libcupsys2_1.1.14-4.4_i386.deb
1a36ef5c7b682d913d22bb933d890793 samba-common_2.2.3a-12.3_i386.deb
dcb1367dbed6335737462ce37df18f0e samba-doc_2.2.3a-12.3_all.deb
d7daf3069c37042246f785bdc4f1f1d2 samba_2.2.3a-12.3_i386.deb
On installe les packages :
mount -o remount,rw /usr/
mount -o remount,exec /tmp/
apt-get install samba samba-doc
'Configurer smb.conf avec debconf ?' : No 'Exécuter Samba en mode démon ou via inetd ?' : demon 'Créer le fichier de mot de passe Samba ?' : Oui On remonte les partitions, on arrête le serveur, on restreint les droits sur le répertoire de configuration :
mount -o remount,ro /usr/
mount -o remount,noexec /tmp/
/etc/init.d/samba stop
update-rc.d -f samba remove
chmod 750 /etc/samba
chmod 640 /etc/samba/smb.conf
XII-B. Configuration▲
On sauvegarde la configuration originale :
cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Ajoutez un utilisateur Samba :
groupadd samba
adduser --no-create-home --disabled-password --quiet --ingroup samba smbuser
Changing the user information for smbuser
Enter the new value, or press return for the default
Full Name []: Samba Backup User
Room Number []:
Work Phone []:
Home Phone []:
Other []: Disabled
Is the information correct? [y/n] y
passwd -l smbuser && chsh -s /bin/false smbuser
Préparez l'utilisateur pour une utilisation avec Samba :
cat /etc/passwd | grep smbuser | mksmbpasswd > /etc/samba/smbpasswd
smbpasswd smbuser
Et entrez le mot de passe Samba de cet utilisateur.
Vous devez avoir une partition /dev/sda13 dans /etc/fstab du type (voir Backup du système sur une partition specifique) :
/dev/sda13 /backup ext2 ro,noexec,nosuid,nodev,sync 0 2
Montez la partition backup et donnez-lui les permissions appropriées :
mount -o remount,rw /backup/
chown root:samba /backup
chmod 3750 /backup
mount -o remount,ro /backup/
Créez le fichier /etc/samba/smb.conf suivant :
[global]
# Local NetBios informations
workgroup =
{YOUR_DOMAIN}
netbios name =
{YOUR_NETBIOS_NAME}
netbios aliases =
{YOUR_NETBIOS_ALIAS}
server string =
%h
server
# Netbios Network settings
local
master =
no
dns proxy =
no
wins server =
{@IP_OF_YOUR_WINS_SERVER}
# Network settings
name resolve order =
host wins bcast
socket options =
TCP_NODELAY
# Do not forget to add here a correct subnet for the wins server !
hosts allow =
127
., {YOUR_ALLOWED_SUBNET/YOUR_ALLOWED_SUBNET_MASK}
# Passwords and security
invalid users =
root
encrypt passwords =
yes
smb passwd file =
/etc/samba/smbpasswd
unix password sync =
false
security =
user
# Logging settings
log file =
/var/log/samba/samba.log
max log size =
1000
syslog =
0
log level =
1
[Backup]
comment =
Backup for
%h
path =
/backup
valid users =
smbuser
read only =
yes
public =
no
browseable =
yes
Ajoutez les informations sur votre station dans un fichier de resolution
NetBios :
cat >
/etc/samba/lmhosts << EOF
> {@IP} {NETBIOS_NAME}
> {@IP} {NETBIOS_ALIAS}
EOF
Autorisez les flux Netbios au niveau de votre firewall (référez vous à 'Annexe 1 - Paramètrage du firewall Ipchains' ou à 'Annexe 7 - Paramétrage du firewall NetFilter' selon votre firewall).
Démarrez le serveur Samba :
/etc/init.d/samba start
Ajoutez le serveur Samba dans votre configuration de démarrage :
update-rc.d
samba defaults
=> Le serveur de backup Win32 est désormais capable de mapper le partage \\{NETBIOS_NAME}\backup de notre station pour récupérer les fichiers que nous y déposerons.
Pour finir, nous modifions l'appel périodique au script de backup par la crontab pour que le serveur Samba soit stoppe au moment ou la partition est remontée en lecture/ecriture :
cat >
/home/system/scripts/backup/samba_backup.sh << EOF
> #!/bin/sh
> /etc/init.d/samba stop
> if [
$1
] && [
$1
== "-f" ]
> then
> /home/system/scripts/backup/system_backup.sh -f
> else
> /home/system/scripts/backup/system_backup.sh
> fi
> /etc/init.d/samba start
> EOF
chmod 750
/home/system/scripts/backup/samba_backup.sh
Et on remplace les appels dans '/etc/crontab' :
# Backup Full du système toutes les semaines à 00H30
<
30
0
* * 7
root /home/system/scripts/backup/system_backup.sh -f
>
30
0
* * 7
root /home/system/scripts/backup/samba_backup.sh -f
# Backup incremental du système toutes les 6 heures a xx:15
<
15
*/6
* * * root /home/system/scripts/backup/system_backup.sh
>
15
*/6
* * * root /home/system/scripts/backup/samba_backup.sh
MAN : testparms, smb.conf, smbd, nmbd, smbpasswd, mksmbpasswd, smbstatus, nmblookup