previous up next contents
Previous: 6 Samba depuis Nullix Up: Nullix 107 Next: 8 File Transfer Protocol   Contents

Subsections

7 Samba vers nullix


7.1 Caveats

  1. Il faut valider les changements de smb.conf, par la macro qss~, ou par swat (attention, il y a un délai résiduel dû au réseau, et certains champs ne sont lus par win98 qu'au moment du login de l'utilisateur sur sa propre machine).
  2. Être attentif aux autorisations des répertoires.
  3. Pour se faire obéir des machines winxx, et en particulier winxp, écrire les deux lignes suivantes dans la base de registre :
    HKLM/System/CurrentControlSet/Services/Browser/Parameters/MaintainServerList=No
    HKLM/System/CurrentControlSet/Services/Browser/Parameters/IsDomainMaster=False

7.1.1 Configuration win98

  1. La pleine fonctionnalité est obtenue en adoptant la config "validation par utilisateur, logon de domaine". Donner l'adresse ip du pseudo-serveur nt, plutôt que son nom de fantaisie.
  2. Lorsque l'on est en mode "validation par ressources", et qu'un utilisateur samba porte le même nom que l'utilisateur en cours sous win98, un mot de passe pour IPC$ est demandé. Il faut répondre le password samba correspondant à ce nom pour pouvoir continuer. Après cela, les services "browseable" apparaissent.
  3. Lorsque l'on est en mode "validation par ressources" et que le nom de l'utilisateur (sous win98) est inconnu de samba, on tombe en mode "user par défaut" : les services publics apparaissent sans demande de mot de passe (map_to_guest=bad_user).
\begin{tabular}{\vert c\vert c\vert c\vert c\vert c\vert}
\hline
&
&
&
&
\tabul...
...ularnewline
\hline
&
&
&
d&
1850 (process)\tabularnewline
\hline
\end{tabular}


7.2 Fichiers samba.log

7.2.1 Mise en oeuvre


\begin{algorithm}
% latex2html id marker 2893
[htbp]
\begin{list}{}{\setlength...
...>~\$file2\end{list}\par
\caption{mise en page des fichiers log.}
\end{algorithm}

7.2.2 Extrait d'un fichier log

(532)
smbd/password.c:pass_check_smb  ;  smb_password_check failed. Invalid password given for user 'zu'  #  essai depuis think sans mot de passe enregistré. échec et demande du mot de passe IPC$
(1030)
lib/util_sock.c:client_name  ;  Gethostbyaddr failed for 90.0.0.232  #  le password correct a été donné. affichage des ressources "nullix". Le nom ipx de la machine était connu dès l'origine puisque le fichier de log est lié au nom de la machine appelante...
(521)
smbd/service.c:make_connection  ;  think (90.0.0.232) connect to service zu as user zu (uid=501, gid=100) (pid 1850)
(521)
smbd/service.c:make_connection  ;  think (90.0.0.232) connect to service public as user zu (uid=501, gid=100) (pid 1850)
(557)
smbd/service.c:close_cnum  ;  think (90.0.0.232) closed connection to service public
(557)
smbd/service.c:close_cnum  ;  think (90.0.0.232) closed connection to service zu

7.3 Création d'un nouvel utilisateur

  1. Nécessite au préalable l'existence d'un compte Unix sur le serveur (sinon : refus de smbpasswd) et d'un répertoire (sinon : message reçu sur machines win98 = " pas de serveur d'autorisation présent" ).
  2. Attention aux droits d'accès ! Attribuer ~toto ailleurs qu'en /home/toto permet de distinguer les comptes créés pour samba des " vrais" comptes. Le shell /bin/false fait que toto ne pourra pas le loguer en tant qu'utilisateur Unix. Le squelette smbskel sert à ne pas avoir de squelette (le répertoire n'est créé que si -m est présent...)
  3. Création automatisée du password unix : utiliser mkpasswd (package n-whois), pour fabriquer la chaîne de test qui sera stockée dans /etc/passwd ... ou plutôt dans /etc/shadow. En entrée : le password et un salt de 2 caractères. En utilisant toujours le même salt, on voit d'un coup celui qui n'a changé pas son password...

    pass=pas`echo $1 | tail -c 5 | head -c 4`  
    ssap=`mkpasswd $pass 00` 
    useradd -p $ssap -g samba -d /home/server/home/$1 -s /bin/false  
    > -m -k /etc/smbskel $1

  4. Ajout d'utilisateurs samba

    1. en usage local, smbpasswd -a new_name
    2. en usage distant, swat authentifié permet d'ajouter des utilisateurs avec mot de passe non vide (attention à une éventuelle conservation de l'authentification de root dans le user.pwl de la machine win98... car il ne semble pas s'enlever correctement avec pwledit).
    3. swat -a ne permet pas d'ajouter des utilisateurs (identification nécessaire) !

7.4 Groupe [global]

workgroup = MGROUP  ; netbios name = MADRAS

server string = SambA v=%v 
interfaces = 90.0.0.171/24 
log file = /var/log/samba/log.%m  ;  loglevel = 3 
security = USER 
  
logon script = %U.bat 
domain logons = Yes 
domain master = True 
os level = 3 
dns proxy = No 
wins support = Yes 
  
encrypt passwords = Yes 
min passwd length = 0 
passwd program = /usr/bin/passwd %u 
passwd chat = *new*password* %n\n *new*password* %n\n *succes* 
  
keepalive = 30 
read prediction = Yes 
read size = 8192 
socket options = TCP_NODELAY 
character set = ISO8859-1 
  
guest account = smb_guest 
create mask = 0770 
directory mask = 0770 
printcap name = /etc/printcap.smb 
print command = lpr -s -r -P %p %s

Le logon_script doit être donné par son nom, et pas par son chemin Unix. Éditer ce fichier avec vi et pas avec kedit, qui retraduit les cr/lf ...

printcap.smb est un fichier "miroir", décrivant les imprimantes exportées

Le champs server string contient le commentaire affiché par win98 en mode détaillé. Équivaut au champ /réseau/identification/description sous win9x. De même pour les services avec le champ comment.

Positionner "encrypt passwords = yes" est nécessaire.

7.5 Groupe [homes]

comment = Repertoires_Utilisateurs 
path = /home/%u  
read only = No 
create mask = 0750 
guest ok = Yes 
browseable = No
  1. Avec browseable = No, il n'y a plus d'icône "homes", mais seulement l'icône "toto"
  2. Avec %U, on a le nom tout en majuscules...

7.6 Groupe [netlogon]

comment = oh la la  
path = /home/server/home/netlogon.img 
guest ok = No 
read only = Yes 
browseable = No
File name handling : map hidden (map system) donne l'apparence d'un attribut hidden, ou system.

Cette configuration suppose que le chemin /home/server/home/netlogon.img est composé de répertoires lisibles (show entries) et exécutables (change into). Sans quoi, message "inaccessible".

Attention : un fichier comme logon.bat (u=root, gr=root) peut être lu, mais pas réécrit par un autre utilisateur. Par contre, il peut être renommé et même supprimé, et ensuite être remplacé. Donc "non browseable" est tout indiqué.

Il faut utiliser un script pour positionner correctement le propriétaire, le groupe et le mode d'exécution du répertoire netlogon, de son contenu et de son chemin d'accès. Car avec les allers-retours win-unx, cela devient flou !

7.7 Groupe [cdrom]

path = /cdrom 
guest ok = Yes 
locking = No 

7.8 Groupe [printers]

Ne pas oublier de positionner printcap name et print command dans la section [global].

[printers] 
 comment = All Printers 
 path = /tmp 
 create mask = 0700 
 guest ok = Yes 
 printable = Yes 
 browseable = No 

[klein]

 comment = Exporte par madras 
 path = /var/spool/lpd/mexico-lp-mexico 
 read only = No 
 create mask = 0700 
 printable = Yes 
 printer name = mexico 
 oplocks = No 
 share modes = No 

7.9 Commandes NET

\begin{tabular}{\vert l\vert l\vert}
\hline
NET&
description de la commande\tab...
...urces partages sur un ordinateur spécifique\tabularnewline
\hline
\end{tabular}

" Pour plus d'informations concernant une commande Microsoft NET particulière, entrez le nom de la commande suivi de /? (par exemple, NET VIEW /?)" .

7.9.1 Commandes NET USE

Connecte ou déconnecte votre ordinateur des ressources partagées ou affiche des informations sur vos connexions.

[lecteur: | *] [\\ordi\répert [password |?]] [/SAVEPW:NO] [/YES] [/NO] 
[port:] [\\ordi\printer [password | ?]] [/SAVEPW:NO] [/YES] [/NO] 
lecteur: | \\ordi\répert /DELETE [/YES] 
port: | \\ordi\printer /DELETE [/YES] 
* /DELETE [/YES] 
lecteur: | * /HOME
\begin{tabular}{\vert l\vert l\vert}
\hline
NET USE&
description de la commande...
...re affiche la liste des connexions en cours\tabularnewline
\hline
\end{tabular}

7.9.2 Commandes NET TIME

Affiche l'heure ou synchronise l'horloge de votre ordinateur par rapport à l'horloge partagée d'un serveur de temps Microsoft Windows pour Workgroups, Windows NT, Windows 95 ou NetWare.

NET TIME [\\ordinateur | /WORKGROUP:wgname] [/SET] [/YES]
\begin{tabular}{\vert l\vert l\vert}
\hline
NET TIME&
description de la command...
...informations ou de confirmer des opérations\tabularnewline
\hline
\end{tabular}

7.10 Exemple de dialogue

... à écrire !!!

7.11 Autres remarques

dans une fenêtre réseau, on voit une icône... et elle demande un mot de passe sur une machine et pas sur l'autre !!!


previous up next contents
Previous: 6 Samba depuis Nullix Up: Nullix 107 Next: 8 File Transfer Protocol   Contents


douillet@ensait.fr
2007-12-07