« Samba » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 35 : | Ligne 35 : | ||
A partir d'une machine client, vous pouvez accéder au dossier partagé avec <code>smbclient</code> : | A partir d'une machine client, vous pouvez accéder au dossier partagé avec <code>smbclient</code> : | ||
<pre>smbclient //192.168.0.1/link -U link password</pre> | <pre>smbclient //192.168.0.1/link -U link password</pre> | ||
=Monter un partage automatiquement au boot= | |||
Si vous voulez que le partage soit monté automatiquement au démarrage du client, ajoutez les lignes suivantes dans le fichier <code>/etc/fstab</code> du client : | Si vous voulez que le partage soit monté automatiquement au démarrage du client, ajoutez les lignes suivantes dans le fichier <code>/etc/fstab</code> du client : | ||
Ligne 45 : | Ligne 47 : | ||
username=link | username=link | ||
password=password | password=password | ||
</pre> | |||
=Remonter un partage automatiquement= | |||
Ce petit script, lancé en cron, permet de vérifier l'état d'un partage samba. Il nécessite d'avoir configuré le fichier <code>/etc/fstab</code> comme décrit précédemment. | |||
<pre> | |||
#! /bin/bash | |||
name="core-link" | |||
host="192.168.0.1" | |||
port="139" | |||
mount="/mnt/link" | |||
quiet=0 | |||
if [ "$1" = "--quiet" ]; then | |||
quiet=1 | |||
fi | |||
if nc -zv -w30 $host $port <<< ” &> /dev/null; then | |||
if [ "$quiet" = 0 ]; then echo "[$name] Service available, checking link status."; fi | |||
for i in `cat /proc/mounts | cut -d' ' -f2`; do | |||
if [ "$i" = "$mount" ]; then | |||
#already mounted, stop here | |||
if [ "$quiet" = 0 ]; then echo "[$name] Link is up."; fi | |||
exit 0 | |||
fi | |||
done | |||
#nothin found, so it's not mounted | |||
if [ "$quiet" = 0 ]; then echo "[$name] Link is down. Trying to mount."; fi | |||
if mount /mnt/link; then | |||
if [ "$quiet" = 0 ]; then echo "[$name] Link established."; fi | |||
else | |||
echo "[$name] Link mount failed. See error logs above." | |||
fi | |||
else | |||
echo "[$name] Service unavailable. Will wait until next cron." | |||
fi | |||
</pre> | </pre> |
Version du 23 février 2011 à 01:29
Installez le serveur samba :
aptitude install samba smbclient
L'installeur vous demandera de choisir un domaine de travail. Vous pouvez laisser workgroup.
Éditez le fichier /etc/samba/smb.conf
:
interfaces = 192.168.0.1 bind interfaces only = yes security = user encrypt passwords = true passdb backend = tdbsam obey pam restrictions = yes unix password sync = no pam password change = no load printers = no [link] path = /srv/link/ read only = no writeable = yes valid users = link comment = link
Créez l'utilisateur link :
adduser link --disabled-login --home /srv/link/ smbpasswd -a link
A partir d'une machine client, vous pouvez accéder au dossier partagé avec smbclient
:
smbclient //192.168.0.1/link -U link password
Monter un partage automatiquement au boot
Si vous voulez que le partage soit monté automatiquement au démarrage du client, ajoutez les lignes suivantes dans le fichier /etc/fstab
du client :
//192.168.0.1/link /mnt/link smbfs credentials=/root/.smbpasswd 0 0
Le fichier /root/.smbpasswd contient les informations de connexion :
username=link
password=password
Remonter un partage automatiquement
Ce petit script, lancé en cron, permet de vérifier l'état d'un partage samba. Il nécessite d'avoir configuré le fichier /etc/fstab
comme décrit précédemment.
#! /bin/bash
name="core-link"
host="192.168.0.1"
port="139"
mount="/mnt/link"
quiet=0
if [ "$1" = "--quiet" ]; then
quiet=1
fi
if nc -zv -w30 $host $port <<< ” &> /dev/null; then
if [ "$quiet" = 0 ]; then echo "[$name] Service available, checking link status."; fi
for i in `cat /proc/mounts | cut -d' ' -f2`; do
if [ "$i" = "$mount" ]; then
#already mounted, stop here
if [ "$quiet" = 0 ]; then echo "[$name] Link is up."; fi
exit 0
fi
done
#nothin found, so it's not mounted
if [ "$quiet" = 0 ]; then echo "[$name] Link is down. Trying to mount."; fi
if mount /mnt/link; then
if [ "$quiet" = 0 ]; then echo "[$name] Link established."; fi
else
echo "[$name] Link mount failed. See error logs above."
fi
else
echo "[$name] Service unavailable. Will wait until next cron."
fi