Previous: 6 Samba depuis Nullix
Up: Nullix 107
Next: 8 File Transfer Protocol
  Contents
Subsections
7.1 Caveats
- 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).
- Être attentif aux autorisations des répertoires.
- 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
- 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.
- 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.
- 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).
7.2 Fichiers samba.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
- 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"
).
- 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...)
- 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
- Ajout d'utilisateurs samba
- en usage local, smbpasswd -a new_name
- 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).
- swat -a ne permet pas d'ajouter des utilisateurs (identification
nécessaire) !
-
- 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.
-
- comment = Repertoires_Utilisateurs
path = /home/%u
read only = No
create mask = 0750
guest ok = Yes
browseable = No
- Avec browseable = No, il n'y a plus d'icône "homes",
mais seulement l'icône "toto"
- Avec %U, on a le nom tout en majuscules...
-
- 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 !
-
- path = /cdrom
guest ok = Yes
locking = No
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
" Pour plus d'informations concernant une commande Microsoft
NET particulière, entrez le nom de la commande suivi de /? (par exemple,
NET VIEW /?)" .
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
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]
... à écrire !!!
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: 6 Samba depuis Nullix
Up: Nullix 107
Next: 8 File Transfer Protocol
  Contents
douillet@ensait.fr
2007-12-07