Windows 3.11, Windows 9x, Windows Nt, OS/2, Mac
....
Le protocole de communication sous-jacent qui permet cette communication Linux-Dos/Win s'appuie sur NetBios et s'appelle smb=Server Message Block.
grep "^s.*m.*b" /usr/dict/words
root
, après une authentification par mot de passe.smbd
pour le service serveur et nmbd
pour le service de résolution des noms Netbios.
TCP/IP
, ce qui semble bien normal .
NETBIOS
TCP/IP et NETBIOS
si ces
protocoles sont absents. Bien vérifier que NetBios
est activé avec TCP/IP
(Voisinage réseau/Propriétés
TCP/IP, onglet NetBios
).Par exemple, on peut choisir d'affecter une adresse IP statique en établissant un plan d'adressage :
WorkGroup
) qui sera donné dans smb.conf
: fctice77
p00
directement dans son "voisinage réseau".
smb.conf
a été convenablement configuré, le nom du serveur doit apparaitre dans le groupe fctice77
, sinon il devrait apparaitre dans MyGroup
(qui est le nom par défaut du Workgroup
dans smb.conf
)
stagex
s'est connecté sur le réseau Windows sous un compte (login: stagex/ password: stgx)
créé sur le serveur Linux, alors il pourra immédiatement avoir accès à son répertoire personnel /home/stagex
, qui apparait sous l'aspect d'un dossier qui porte son nom de connexion.
/etc/smb.conf
).lp
sur p00
, le serveur Linux\\p00\lp
cp smb.conf smb.old
) puis l'éditer
man smb.conf
testparm
permet de tester la syntaxe du fichier de configuration et de déceler les erreurs. Il est recommandé de le lancer systématiquement lors de la mise au point de smb.conf
. Il diagnostique des erreurs de syntaxe et des incohérences dans les choix des clauses.
smb.conf
à relancer les processus !
Si les processus "démons" sont actifs, il faut les arrêter puis les relancer par :
# conseillé plutôt que la commande globale smb restart /etc/rc.d/init.d/smb stop /etc/rc.d/init.d/smb start
PATH
.vi /usr/sbin/smb #!/bin/bash if [ $# = 0 ] then echo "Argument : stop | start | restart | status" exit 1 else /etc/rc.d/init.d/smb "$1" fi :wq (pour sauvegarder) chmod 700 /usr/sbin/smb (droit d'exécution pour root) |
paramètre | valeur par défaut | description |
---|---|---|
path = | chemin du rep à partager | |
comment = | texte visible dans le voisinage réseau client | |
guest ok = yes|no (ancien nom : public) |
no | partage en accès libre sans authentification |
valid users = | tous | liste des users autorisés à se connecter à la ressource |
printable = true|false | false | partage d'un service d'impression et non de rép. |
writeable = yes|no | no | permet ou non l'écriture sur le rép., contraire de read only |
write list = | tous les utilisateurs | liste des users autorisés à écrire |
browseable = | yes | visibilité du partage par tous, même les users non autorisés |
create mode | mask = | 0744 | droits maxi accordés à un fichier créé dans la ressource ces droits seront en intersection (and) avec les droits Linux (umask) |
directory mode | mask = | 0755 | droits maxi accordés à un répertoire créé dans la ressource ces droits seront en intersection (and) avec les droits Linux (umask) |
force directory mode = | 000 | droits imposés lors de la création du rép. composé par un opérateur OR avec les droits usuels |
force group = | Impose un groupe propriétaire d'un fichier lors de sa création dans le partage | |
hide dot files = | yes | cache les fichiers cachés au sens Linux, commençant par un point |
hosts allow hosts deny = |
toutes les stations aucune |
ressource réservée|interdite à la liste des stations (adresses IP) |
max connections = | 0 | nb de connexions à la ressource illimité, sinon maxi |
[global] # donner le même nom de groupe de travail que celui des stations Windows 95/98 (Voisinage réseau/identification) workgroup = FCTICE77 # compte à utiliser pour les accès invités aux partagesguest account = nobody ;
# accès multi utilisateurshare modes = yes ;
# restreindre par sécurité les sous-réseaux autorisés à se connecter au serveur # ici on se limite aux adresses réseau privé 10.194.2.0 et à l'interface "loopback" hosts allow = 10.177.200. 127. # on peut exclure des machines de l'accès au réseau hosts allow = 10.177.200. EXCEPT 10.177.200.125 # d'autres possibilités existent : voir le manuelman smb
# indique l'adresse IP de l'adaptateur du serveur et le masque de sous réseau interfaces = 10.177.200.110/255.255.255.0 # indique l'emplacement du fichierprintcap
, récapitulant toutes les imprimantes installées sur le serveur Linux printcap = /etc/printcap # partage toutes les imprimantes définies dans le fichierprintcap
load printers = yes # utiliser un fichier de trace pour chaque machine qui se connecte log file = /var/log/samba/log.%m # choisir le mode de sécurité : user ou share security = user
/home/%u
comment =Répertoire personnel
browsable = no
writable = yes
create mode = 0700
mkdir /home/tmp
ls -l
renvoie les droits par défaut drwxr-xr-x
chmod 777 public
pour y ajouter les permissions d'accès et d'écriture
pour tous
Pour permettre le partage de ce répertoire commun /home/tmp, il suffit de modifier la section [public] déjà présente et d'enlever les symboles ; pour dé-commenter les lignes en ajoutant des commentaires.
[public]
# Ce répertoire aura donc pour nom de partage " public "([public]),
# la valeur du champ comment apparaitra dans le voisinage réseau
# Le répertoire à partager est /home/samba
comment =Répertoire public
path = /home/tmp
# il pourra être accessible par tous les utilisateurs
public = yes
# il est accessible en écriture
writeable = yes
# les fichiers créés sont en lecture seule, sauf pour le propriétaire
create mode = 0755
[stagiaire]
# Ce répertoire aura donc pour nom de partage stagiaire
comment =Partage pour le groupe stagiaire exclusivement
# Le répertoire à partager est /home/partage
path = /home/rep-stagiaire
# il ne pourra pas être accessible par tous les utilisateurs
public = no
# liste des utilisateurs autorisés (avec ou sans virgule)
valid users = stage1 stage2 stage3 ...
# ou mieux, indication du groupe autorisé
valid users = @stagiaire jean
# on pourra y écrire (bien sûr par ceux qui peuvent y accéder..)
writeable = yes
# les permissions par défaut des fichiers créés (le mot mode peut être remplacé par mask
create mode = 0640
admin
(contenant au moins l'utilisateur admin/admin
) des droits de propriété et permissions
path = /appli
public = yes
writeable =no
write list = @admin
path = /mnt/cdrom
.[cdrom] # chemin d'accès au pseudo-répertoire de montage du CD path = /mnt/cdrom # accessible à tous les utilisateurs public = yes # l'écriture sera interdite writeable = no
/mnt/zip
.[zip]
définissant le partage de cette ressource en lecture pour tous, et en écriture seulement pour jean
.
[web]
permettant (seulement) à un user (login=webadmin
/mot de passe=apache
) d'administrer le site web
, à partir d'une station Win9x quelconque.
Administration de Samba / Conf par défaut [global] Conf par défaut pour un rep utilisateur [homes] Partage de disques tmp Rép. remporaire public Rép. public stagiaire ...
smbmount
permet de monter (comme par NFS) des répertoires distants d'une machine Windows9x, sur l'arborescence Linux, et ainsi de disposer des fichiers.
//PC1/C_PC1
sur le répertoire /mnt/diskc_pc1
du système de fichiers :smbmount //PC1/C_PC1 /mnt/diskc_pc1
/mnt/diskc_pc1
comme un dossier local.
/etc/hosts
C_temp_PC1
/etc/fstab
dans /mnt/diskc_pc1
et dans /mnt/temp_pc1
.
-f 777
subumount point-montage
:smbumount /mnt/diskc_pc1
smbd
et nmbd
sont-ils à l'affus ? smb
au démarrage avec l'utilitaire ntsysv
NetBios
est-il bien activé au-dessus de TCP/IP
?
NetBios
envoyé par une station, en quête
d'un serveur ...
broadcast
dans le même sous-réseau et apparemment cela ne fonctionne
pas toujours bien.
/etc/smb.conf
, une méthode
explicite de résolution.
NetBios
comme nom Linux
, et fait appel à
un serveur DNS. Par défaut, il s'agit du fichier /etc/hosts
.
serveur wins
. Il
enregistre alors les correspondances : nom netbios <--> adresse IP
wins support = yes
wins server = w.x.y.z
/usr/doc/samba-2.0.5/docs/textdocs/
, en particulier DIAGNOSIS.txt et ENCRYPTION.txt
man samba.conf