Hello !
Voici mon problème du jour :
Nous avons un contrôleur de domaine samba, sur lequel tous les PC (malheureusement sous windows) ouvrent une session au démarrage.
Jusque là, tout va bien.
Sur chaque PC windows, l'utilisateur du domaine est défini, individuellement, via le panneau de configuration -> utilisateurs...
Là, on choisi d'ajouter un utilisateur, appartenant au domaine.
Là encore, aucun soucis.
Ce que je voudrais, c'est automatiser ça, c'est à dire que quand un utilisateur prends un PC, n'importe lequel de la société, il ouvre une session avec son compte, et automatiquement son compte utilisateur est ajouté au PC sur lequel il se connecte.
Pourquoi ? Nous définissons des profils locaux, et non itinérants, car sinon, le réseau est engorgé (lors de la première connexion de l'utilisateur il faut parfois attendre plus d'un quart d'heure, oui, 15 minutes) pour avoir la main et pouvoir enfin travailler.
Par ailleurs, si Patrice est déclaré sur sa machine, lorsque jean utilise la même machine avec son propre compte, le clavier passe en anglais, et tout un tas de choses sont inaccessibles.
Je m'en remets à vous pour trouver une solution à ce problème, et je vous remercie pour votre aide...
De mon côté, j'ai vu que pour connecter les lecteurs réseau, on pouvait jouer avec le logon script défini dans smb.conf et ajouter des commandes du style :
net use X: \\serveur\public
Alors j'essaye d'ajouter un compte local au pc grâce à la commande net user toto /add /domaine serveur
mais je me fais bouler....
Doit y avoir un truc que je ne pige pas.
Merci pour votre aide (une fois de plus)...
# Autre solution...
Posté par Ellendhel (site web personnel) . Évalué à 3.
(...)
Sur chaque PC windows, l'utilisateur du domaine est défini, individuellement, via le panneau de configuration -> utilisateurs...
C'est la première fois que je vois ce genre de chose.
L'intéret d'un controleur de domaine c'est de centraliser les comptes utilisateurs, les données et l'authentification.
C'est à dire que les comptes ne sont déclarés que sur le serveur, et qu'il n'y a rien de déclaré sur les postes clients, sauf exception particulière.
Pour ce qui est de faire un script avec un "net user /add" cela ne fonctionnera pas, sauf manipulation très ésotérique, car il faut que le compte existe dans le fichier /etc/passwd du serveur et que l'ajout soit effectué par le compte root (ou compte déclaré équivalent).
Je présume qu'il y a un problème d'architecture qu'il faut reprendre à la base...
Quelques liens :
http://us4.samba.org/samba/docs/man/Samba-HOWTO-Collection/s(...) (en anglais)
http://www.linagora.org/article19.html (en français)
[^] # Re: Autre solution...
Posté par Gyro Gearllose . Évalué à 1.
Probablement que ma demande n'était pas très claire non plus....
Je me permets de reprendre au début avec un cas d'école : j'installe un nouveau PC (sous windows XP, puisque c'est pour dispatcher dans un bureau)....
1) je donne un nom au pc : nouveaupc
2) j'ajoute un compte système pour cette machine :
en root sur le serveur samba :
useradd -g machines -d /dev/null -s /bin/false nouveaupc$
3) j'ajoute un compte samba à cette machine :
toujours en root sur le serveur samba :
smbpasswd -a -m nouveaupc
4) je demande au PC appelé nouveaupc de joindre le domaine samba. Il me demande un nom d'utilisateur et un mot de passe que je lui fourni, et se joint au domaine, parfait.
Ensuite, je redémarre ce nouveaupc. Je prends mon compte utilisateur, et je me connecte. Et là, c'est le drame : mon compte samba n'étant pas déclaré sur nouveaupc, il faut plusieurs minutes pour démarrer, car tout mon profil est rapatrié par le réseau... C'est pas glop !
Quand enfin il me rend la main, je m'aperçois que je ne peux pas m'ajouter d'imprimante, que je ne peux rien faire en local... Forcément, c'est un compte qui n'existe pas sur cette machine, appelée nouveaupc.
Excédé, je me déconnecte de cette machine, ouvre une session en local avec le compte administrateur, ajoute mon compte d'utilisateur utilisé précédament en spécifiant bien que c'est un compte d'utilisateur géré par un domaine. J'en profite pour virer l'utilisation de fichiers hors connexion et pour signifier que le profil de ce nouvel utilisateur est local (stocké sur le serveur, mais local, ça évite les copies intégrales à la connexion et à la fermeture de session, on travaille en direct sur le réseau...).
C'est cette dernière étape que je voudrais automatiser, car si elle est faisable par un admin lors de l'installation d'une nouvelle machine, elle implique de créer tous les comptes utilisateurs du domaine sur tous les PC... 100 utilisateurs et 80 PC... Tu vois l'intérêt de scripter un peu tout ça...
Après, je ne suis même pas sûr que ce soit faisable. Je cherche dans la doc et sur le web, mais pour l'instant, je reste sur ma faim....
J'espère que ma demande est un peu plus claire...
[^] # Re: Autre solution...
Posté par Ellendhel (site web personnel) . Évalué à 3.
Le compte utilisateur n'a pas a être déclaré sur nouveaupc (sinon ce serait ingérable en ayant une centaine de machines et plusieurs centaines d'utilisateurs, je suis dans un cas similaire :-).
Le compte utilisateur doit être déclaré sur le serveur :
- adduser toto
- smbpasswd -a toto
Ensuite l'utilisateur peut se connecter sur n'importe quelle machine du domaine.
Lors de la première connexion un profil sera crée sur le poste en local (il y a le choix de conserver ce profil sur le serveur -profil errant- mais c'est un point à voir par la suite).
Pour que l'utilisateur stocke ses fichiers il faut avoir une directive [home] dans Samba ce qui lui permettra d'avoir un disque réseau pointant sur son home personnel (dans le sens Unix, c'est à dire /home/toto).
Pour que les choses soient éventuellement plus claire je poste un exemplaire abrégé du fichier smb.conf d'un serveur de domaine. Si tu as besoin de plus de détail je peux aussi répondre par mail (ellendhel chez gmail).
# Version avec les profils obligatoires multiples
[global]
netbios name = MON_SERVEUR
server string = Serveur de domaine
workgroup = MON_DOMAINE
encrypt passwords = yes
security = user
invalid users = bin daemon adm lp sync shutdown halt
hosts allow = localhost 192.168.1.
domain master = yes
domain logons = yes
os level = 34
local master = yes
preferred master = yes
browsable = yes
log file = /var/log/samba/samba.log
log level = 1
max log size = 5120
# répertoires où sont conservés les profils (un par utilisateur)
logon path = \\mon_serveur\profile\%U
# disque réseau pour chaque utilisateur (voir la section homes)
logon drive = H:
time server = yes
wins support = yes
name resolve order = wins lmhosts hosts bcast
dns proxy = yes
[netlogon]
# partage nécessaire pour l'authentification en domaine
browseable = no
writeable = no
public = no
path = /home/logon
[profile]
# partage des profils (invisible)
browseable = no
writeable = yes
path = /home/profile
create mode = 0600
directory mode = 0700
[homes]
# partages individuels des homes utilisateurs
browsable = no
writeable = yes
create mask = 600
directory mask = 700
[^] # Re: Autre solution...
Posté par Gyro Gearllose . Évalué à 1.
Décidément, on ne se comprend pas...
J'ai configuré mon samba à peu près comme ce que tu donnes dans ton exemple de smb.conf, j'ai créé mes utilisateurs et tout, pas de soucis.
La démarche que tu décris fonctionne déjà depuis des lustres chez nous (depuis 2000 si ce n'est pas avant, d'ailleurs)...
Non, là où ça pêche, c'est que si je procède comme tu dis (et donc sans ajouter l'utilisateur du domaine au PC sur lequel il se connecte), il y a tout un tas de truc qu'on ne peut pas faire sur le PC local en étant connecté avec un compte "fantôme" pour ce PC... D'où l'idée de créer "en plus" cet utilisateur sur la machine cible.
[^] # Adding Domain Users to the Workstation Power Users Group
Posté par Dragon . Évalué à 2.
En fait cela est faisable mais manuellement sur chaque machine en local avec Samba :
cf http://samba.org/samba/docs/man/Samba-HOWTO-Collection/group(...)
[^] # Re: Adding Domain Users to the Workstation Power Users Group
Posté par Gyro Gearllose . Évalué à 2.
Après quelques recherches, essais, lectures de docs, voici ce que j'ai compris :
1) si on ne défini pas l'utilisateur du domaine sur le PC client, alors un profil itinérant est utilisé. Donc, lors de la première connexion, l'intégralité du profil est rapatrié sur le poste client.
Cet utilisateur dispose alors de droits plus ou moins restreints sur le PC (ce qui parait normal)...
2) Si on ajoute l'utilisateur du domaine au PC client, alors on peut préciser que le profil est local, mais malheureusement, c'est celui qui a été copié en 1) qui est utilisé, et non celui présenté par le contrôleur de domaine (partage [profiles])... On peut alors interdire la synchronisation des fichiers hors connexions, puisqu'elle n'apporte plus rien...
Après moult essais, j'ai compris un peu plus de choses (et surtout vu plus clair).
Ce que je voulais faire, en fait, c'est que le profil de l'utilisateur du domaine soit celui qui est proposé par le serveur samba. Pas moyen de faire ça facilement (faut modifier la base de registre à la main, beurk)... Et puis, ça générerait un trafic réseau important, donc pas glop....
De plus, ça poserait des problèmes en cas de raccourcis vers le poste local, lorsque l'utilisateur est obligé de se séparer de son PC pour une raison ou une autre, et qu'un raccourci pointe vers une application non installée localement, etc.
De plus, paramétrer à posteriori les postes clients pour que la synchronisation des fichiers hors connexion soit optimale, que le profil utilisé soit celui du réseau, etc, serait de la folie....
Donc, je vais tranquillement laisser la conf qui est installée, sans rien changer....
Après tout, nous avons les documents dans un partage réseau, et ceci fonctionne parfaitement pour nos besoins. Inutile de mettre en l'air un truc éprouvé.
Merci en tout cas pour les commentaires qui m'ont permis d'y voir plus clair.
[^] # Re: Autre solution...
Posté par Ellendhel (site web personnel) . Évalué à 1.
Effectivement il y a un souci... Lequel, je ne vois pas.
Peut être une mauvaise reconnaissance du domaine de la part de la machine Windows (nom de domaine IP non pleinement qualifié, serveur Wins manquant, ...) ou alors des droits d'écriture qui seraient mal positionnés sur le serveur (vérifier les droits sur les répertoires pour que cela soit cohérent avec les paramètres Samba).
Sinon tu pourras peut être trouver plus d'aide sur la liste de diffusion francophone :
http://listes.ujf-grenoble.fr/wws/info/samba-fr
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.