Configuration samba, contrôleur de domaine, profil itinérant

Bonjour à tous !

C’est mon premier sujet sur ce forum, alors si j’oublie de renseigner des éléments utiles au problème, n’hésitez pas à me demander ! :smiley:

Petite présentation générale pour cerner l’environnement :
Je suis étudiant en DUT Réseaux et Télécommunications en stage à l’université d’Antsiranana à Madagascar.
Je dois reprendre le travail commencé de mes prédécesseurs affin de fournir un contrôleur de domaine sous samba fonctionnel.
Les moyens matériels que je dispose ici ne sont bien évidement pas aussi performant que ce que l’on peut trouver en Europe et les coupures d’électricité sont très fréquentes.

Je travail donc sur une machine de bureau qui sert de serveur.
Caractéristiques :

  • Proco moins de 2Ghz
  • Ram 1Go
  • Disque dur 80Go
  • 2 interfaces RJ45

Il est installé sur la version Debian Lenny.
Certains services sont déjà fonctionnel dessus :

  • apache
  • serveur DNS
  • serveur de mail
  • serveur openLdap

Mon problème se situe au niveau du contrôleur de domaine samba.
Voici le fichier de configuration smb.conf :

[code]#======================= Global Settings =======================

[global]
workgroup = UNIV
realm = UNIV
netbios name = serveur-bu
server string = %h server
dns proxy = no
domain logons = Yes
domain master = Yes
preferred master = Yes
os level = 66
local master = Yes
wins support = Yes

; option LDAP
passdb backend = ldapsam:ldap://127.0.0.1
ldap ssl = off
ldap delete dn = no
ldap suffix = dc=univ-antsiranana,dc=mg
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap admin dn = "cn=admin,dc=univ-antsiranana,dc=mg"
ldap passwd sync = Yes
enable privileges = Yes

logon path = \192.168.10.2%U

Logon path = \ % N \home% U \ profile
Unix Charset = ISO8859-15

#SMBLDAP-TOOLS

add user script = /usr/sbin/smbldap-useradd -m "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m “%u” "%g"
delete user script = /usr/sbin/smbldap-userdel "%u"
delete group script = /usr/sbin/smbldap-groupdel "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x “%u” "%g"
set primary group script = /usr/sbin/smbldap-usermod -g “%g” “%u”

passwd program = /usr/sbin/smbldap-passwd -u %u

Debugging/Accounting

log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
client lanman auth = yes
client ntlmv2 auth = yes
lanman auth = yes
ntlm auth = yes
winbind use default domain = Yes
nt acl support = Yes
msdfs root = Yes
hide files = /desktop.ini/ntuser.ini/NTUSER.*/
hosts allow = 192.168.10. 127.

####### Authentication #######

security = user

encrypt passwords = yes

passdb backend = tdbsam

obey pam restrictions = no

unix password sync = yes

passwd program = /usr/bin/passwd %u

passwd chat = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully .

pam password change = yes

########## Domains ###########
domain logons = yes
logon drive = H:

logon home = \192.168.10.2%U

logon script = script.bat

[profiles]
comment = profils itin�rants
path = /home/%U
writable = yes
browseable = no
create mode = 0644
directory mode = 0755

[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0600
directory mask = 0700

[netlogon]
comment = Network Logon Service
path = /home/netlogon
writable = no
browseable = yes

[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
read only = yes
create mask = 0700

[partage]
comment = Partage
browseable = yes
path = /home/partage
read only = no
create mask = 0755
directory mask = 0755

[other]
comment = Win
browseable = yes
path = /media/win
read only = no
create mask = 0755
directory mask = 0755

[progweb]
comment = Win
browseable = yes
path = /var/www/progweb
read only = no
create mask = 0755
directory mask = 0755

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes

[cdrom]
comment = Samba server’s CD-ROM
read only = yes
locking = no
path = /cdrom

[profs]
path = /home/profs
browseable = yes
public = no
guest ok =yes
read only = yes
require group = professeurs

[documentation]
path = /home/documentation
browseable = yes
public = yes
guest ok =yes
read only = yes

[applications]
path = /home/applications
browseable = yes
public = yes
guest ok =yes
read only = yes
[/code]

Les machines “clientes” seront toutes des XP à l’heure actuel.
Pour mes phases de test, j’utilise une machine XP Pro virtuelle en accès par pont sur ma carte réseau.
J’ai modifier les clés indiquées dans le lien dans XP http://www.gcolpart.com/howto/samba.php4#clients.

Mon problème intervient lors de la connexion au domaine. L’utilisateur précédemment ajouté avec smbldap-useradd rentre son identifiant et son mot de passe et là j’ai un message d’erreur me disant qu’il est impossible de trouver le profil itinérant.

Ma question est donc comment remédier à ce problème ?
Y a t-il des problèmes dans mon fichier de configuration ?

Merci d’avance pour vos conseils, remarques, sugestions ou même solutions ! :smiley:

Cordialement
Jéjé

PS : Dès que le courant revient, je vais essayer de mettre plus d’informations !
[EDIT]
résultat de $uname -a

Linux serveur-bu 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux
Apparemment, mon serveur n’est pas à l’heure mais il ne veut pas la garder … Mais je ne pense pas que mon problème ait un rapport !

résultat de $lspci concernant les interfaces ethernet

05:04.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 08) 40:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)

Bonjour,

Pour avoir un premier aperçu de l’interprétation du fichier de configuration, je te suggère d’utiliser “testparm”.
Cet outil t’indiquera quelles sont les erreurs dans ton fichier de configuration ainsi que le type de la configuration (dans ton cas “ROLE_DOMAIN_PDC”).
Il indique également quelles sont les paramètres dépréciés à ne plus utiliser, les lignes erronées et/ou ignorées.
Ce qui est habituellement fait, et vivement conseillé, c’est d’avoir un fichier smb.conf “de travail” qui contient les commentaires etc. et un fichier qui est le résultat de testparm, bien plus propre :

Concernant ton fichier de configuration, “logon path” devrait plutôt être “\%N\home%U\profile” sans espaces.
A tester…

A+
Michel

Bonjour !

Merci de la réponse. Pour le moment j’ai de l’électricité, donc j’espère pouvoir avancer un peu !

Voici le résultat de la commande testparm :

[code]Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[profiles]"
Processing section "[homes]"
Processing section "[netlogon]"
Processing section "[printers]"
Processing section "[partage]"
Processing section "[other]"
Processing section "[progweb]"
Processing section "[print$]"
Processing section "[cdrom]"
Processing section "[profs]"
Unknown parameter encountered: "require group"
Ignoring unknown parameter "require group"
Processing section "[documentation]"
Processing section "[applications]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_DOMAIN_PDC
[global]
unix charset = ISO8859-15
workgroup = UNIV
realm = UNIV
server string = %h server
passdb backend = ldapsam:ldap://127.0.0.1
lanman auth = Yes
client NTLMv2 auth = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m “%u” "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x “%u” "%g"
set primary group script = /usr/sbin/smbldap-usermod -g “%g” "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
logon script = script.bat
logon drive = H:
logon home =
domain logons = Yes
os level = 66
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
ldap admin dn = "cn=admin,dc=univ-antsiranana,dc=mg"
ldap group suffix = ou=Groups
ldap passwd sync = yes
ldap suffix = dc=univ-antsiranana,dc=mg
ldap ssl = no
ldap user suffix = ou=Users
panic action = /usr/share/samba/panic-action %d
winbind use default domain = Yes
hosts allow = 192.168.10., 127.
hide files = /desktop.ini/ntuser.ini/NTUSER.*/
msdfs root = Yes

[profiles]
comment = profils itinérants
path = /home/%U
read only = No
create mask = 0644
browseable = No

[homes]
comment = Home Directories
read only = No
create mask = 0600
directory mask = 0700
browseable = No

[netlogon]
comment = Network Logon Service
path = /home/netlogon

[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
browseable = No

[partage]
comment = Partage
path = /home/partage
read only = No
create mask = 0755

[other]
comment = Win
path = /media/win
read only = No
create mask = 0755

[progweb]
comment = Win
path = /var/www/progweb
read only = No
create mask = 0755

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers

[cdrom]
comment = Samba server’s CD-ROM
path = /cdrom
locking = No

[profs]
path = /home/profs
guest ok = Yes

[documentation]
path = /home/documentation
guest ok = Yes

[applications]
path = /home/applications
guest ok = Yes
[/code]

Donc si j’essaye d’interpréter les résultats ;

  • J’ai des noms un peu trop long ( mais pas grave dans ce cas vu l’utilisation de XP )
  • Mon paramètre “require group” n’est pas compris donc ignoré

Je vais essayer d’enlever les espaces de “logon path” et je vous tient au courant !

Pour ce qui est du fichier de travail, je n’ai pas bien saisis … C’est bien le smb.conf qui est pris en compte par samba ?

Cordialement
Jéjé

Déjà de retour !

J’ai essayé en enlevant les espaces, mais cela n’a rien changé … Le problème ( ou le gros du problème :laughing: ) ne vient probablement pas de là !
Lors de l’ouverture de session, j’ai toujours “impossible de trouver le profil itinérant” suivit de “impossible de trouver le profil local” …

Mon serveur n’ayant pas de grandes capacités, je me suis dit que je pouvais éventuellement ne pas faire de profils itinérant, mais seulement l’authentification pour ensuite monter automatiquement le répertoire utilisateur dans le poste de travail. Cela est-il possible ?
Si vous avez des retours d’expériences bonnes ou mauvaises, cela m’intéresse ! :smiley:

Cordialement
Jéjé

Je pense que le profil itinérant est stocké dans un répertoire particulier, sans doute le “home path” (qui n’apparaît pas dans le retour de testparm) ou le “logon home” qui contient le profil itinérant pour les PC Win9X et “logon path” pour les PC XP, si j’ai bien compris ce que j’ai lu dans le manuel.

Il faut être sûr que le répertoire existe… dans /home d’après ce que je vois dans ton fichier de config.

Ce qui est étonnant c’est que les répertoires généraux (other, progweb, etc.) se trouvent dans /home : attention aux droits…

Bonjour !

Je n’ai malheureusement pas pu avancer beaucoup par manque de courant …
Je ne comprend pas réellement où le profil itinérant se trouve …

J’ai tout de même regarder dans mon répertoire /home et je trouve bien mes répertoires utilisateurs !
Pour vérifier que le problème ne vienne pas des attribution des droits, j’ai essayé avec droit 777, mais cela ne change rien.

J’ai cependant découvert qu’il y a un utilisateur ( que mon prédécesseur avait créé ) avec lequel le profil itinérant fonctionne. Dans son répertoire /home/utilisateur ( qui au passage à les droits 777 ) on y retrouve les différents dossiers de windows ( ceux que l’on trouve dans C:/utilisateurs/ ) ainsi qu’un sous répertoire ./profil dans lequel se trouve encore les mêmes dossiers.

Y a-t-il possibilité de “copier” le profil itinérant de cet utilisateur afin de l’attribuer aux autres utilisateurs ?
Ou alors y a-t-il une autre solution ?

Pour ce qui est des dossiers de partage, je verrais cela par la suite !

Merci d’avance !
Bonne journée
Cordialement !
Jéjé

Je n’ai pas d’expérience pour les profiles itinérants et n’ai pas le moyen de monter des tests…
Je cherchais juste à t’aiguiller sur ce que je savais.

Bon courage
Michel

C’est déjà sympa de m’aider ! Un oeil extérieur peut toujours aider !

Concernant moi profil itinérant, j’ai trouvé cela sur internet : http://support.microsoft.com/kb/324749/fr

Le profil itinérant serait donc contenu dans un fichier Ntuser.dat ou .man !
Dès que j’en ai la possibilité je vérifierais la présence d’un de ces fichiers dans le home de l’utilisateur !

Cordialement
Jéjé

Avant, je te suggère de modifier (passe la ligne en commentaire pour la désactiver) ton paramètre “hide files” afin de ne plus cacher ces fichiers…

Regarde du coté de gpedit.msc dans une commande windows

Configuration de l’ordinateur --> Modele d’administration --> system
profil d’utilisateur

Une technique serait de mettre le profil en local et rediriger certain répertoire genre Appdata…etc