controleur de domaine linux avec clients linux et w indow s
Transcription
controleur de domaine linux avec clients linux et w indow s
CONSERVATOIRE NATIONAL DES ARTS ET METIERS CENTRE REGIONAL DE LORRAINE ! " $ %& %' ( # )* * + * * ,* - % . )* * + * * ,* !" # "$ % & ' ' ' " & # !" ! . /" . $$ ( " %$ * ") + , - $ . 0 " $ 1 0 .# !" "%$ $ ") 01/12 ,* % 3 4* ,5 - &11111111111111111111111111111111111111111111111111111111111111 01/1212 ,* %$36 * *%41 611111111111111111111111111111111111111111111111111111111111111111 01/121 * *%41 6 % ,5 + 11111111111111111111111111111111111111111111 / 01/1 ,* % 3 4* ,3 7 111111111111111111111111111111111111111111111111111111111111 8 . % 2" $ ") - / % . ' )* * + * * ,* 1 INTRODUCTION + ) ,-%+9 5 *:% *4 4, * * ; 4 *3%+ 4 % 3 * 44+3 * + 5 $ 5 *:% 1 4 %* 3 5 :%<% 3,*, ) %++ $ ,3 5 % +3 3 1 ++=3 * 3 5 , > *++ % 3 *?+% 5 % + %7 ) 3 % 5 75%5 5 36 3+ * + %71 * * + :% 3+ * @ @ 4% 44+3 * 4,3$:% $ 3* *4 % + %71 < , *,- +5 * -5 * + , % %7 4 * $ < %-5 * + ,3% *,1 3+ * @ @ 4% * 34 +-% 3*5 * ) 3+ 3+ * + %7 * ) 5 *1 % ) 3>% - < 36*3*% 4 , *,3= %1 - 8 % . )* * + * * ,* 2 DESCRIPTION DE L’INSTALLATION ;%* ,5%+ *% * 5 :% ** * $ 3 6 ;* % )% 5 )% ) 3 3+ * @ *3+ * %71 ) % + %73 54 * % * $3 , %) *% ++ 1 3 *?+% 5 %*+ 3+ * ) *C* 3 4 ;+ % 3 4 *-, 1 + *54 < D%* % +4 5 * %) ++ $ 3* %7 ' %+ * $3 , % 46B :% 4 % 4+% % + 4 :% *D + ' 1 5 * < 33, B %* < *,+*, E%*6 *$3 * * %* > % )% $ )3 F1 % ,+ * 5 :% ** % %*+ * 5 36 1 • 5 36 ) % + %7 44 +, = ' • 5 36 3+ * @ 44 +, = • 5 36 3+ * %7E ; F 44 +, = 3 + 4+ + 5 :% ** & PDC-SAMBA GNU/Linux 2.6 Debian Sarge 3.1 192.168.0.254 192.168.1.254 192.168.1.100 192.168.0.100 192.168.1.0/24 192.168.0.0/24 WinXP Fedora Core 5 ; - A % . - )* * + * * ,* - 0 % . )* * + * * ,* 3 ROUTAGE % 4 %) *3 3* , % +$%*:% 3 ** * $3 %7 , %7+-:% $$, * ) 3% *3 3*, > %7 , %71 %+ * $3 3 + ,*4 > %) & • • $$3* 3*) * * + $36 %*+ F1 %7 % %*- 1 >+ 3 * , %1 3 $-% * , %>+< ) * , *% *7* 4 ,$,,E3 PDC-SAMBA:~# vi /etc/network/interfaces auto lo iface lo inet loopback #interface monte automatiquement au démarrage du système auto eth0 iface eth0 inet static address 192.168.0.254 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 #gateway 192.168.0.1 dns-nameservers 212.27.54.252 # « :1 » signifie qu’on affecte une deuxième interface à la carte eth0 auto eth0:1 iface eth0:1 inet static address 192.168.1.254 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 dns-nameservers 212.27.54.252 * $3 1 * * +$%* % B *95 :%< ** + ) +% 2 + $36 %* + H$ @ I * PDC-SAMBA:~# echo "1" > /proc/sys/net/ipv4/ip_forward - G % . )* * + * * ,* % ), $ + *;+ %*- % B *95 *4 K+ 3 55 %) * & PDC-SAMBA:~# route Table de routage IP du noyau Destination Passerelle 192.168.0.0 * 192.168.254.0 * Genmask 255.255.255.0 255.255.255.0 - J % . Indic Metric Ref U 0 0 U 0 0 Use Iface 0 eth0 0 eth0 )* * + * * ,* 4 CONTRÔLEUR DE DOMAINE 4.1 Préparation de samba %* <; ) 3, ,4 * & PDC-SAMBA:~# mkdir /var/samba ,4 * L * *3M, + 4 $+ * , * & PDC-SAMBA:~# mkdir /var/samba/profiles ,4 * L * *3M, + 3 4* ,5 - & PDC-SAMBA:~# mkdir /var/samba/netlogon ,4 * ) *>+ 3 & PDC-SAMBA:~# mkdir /home/samba PDC-SAMBA:~# mkdir /home/samba/dfs 4.2 Configuration de samba *K+ $36 3 $-% * 5; & PDC-SAMBA:~# vi /etc/samba/smb.conf 3 + 3 * % %$36 & # Global parameters #================= Global Settings =================== [global] #nom du domaine si le serveur est configuré en tant que PDC workgroup = cnam #nom du serveur netbios name =PDC-SAMBA #configure le serveur SAMBA en tant que PDC domain master =yes domain logons = yes local master = yes preferred master = yes #os level permet de donner un numéro d’élection (peut aller #jusqu’à 255). S’il y a plusieurs contrôleurs de domaine #accessibles, celui qui a le plus grand numéro gagne l’élection. os level = 66 #donne le nom du fichier où se trouvent les mots de passe. smb passwd file = /etc/samba/smbpasswd #Active la résolution WINS (ceci est nécessaire pour permettre #aux ordinateurs de trouver le contrôleur de domaine ) - . % . )* * + * * ,* wins support = yes name resolve order = wins lmhosts bcast #Permet de recevoir les mots de passe encryptés de clients #Windows (à partir de Windows 98) encrypt passwords = yes security = user #Permet d'introduire à partir du client la machine cliente dans #le domaine sans créer le compte au préalable. La version de #SAMBA que nous utilisons pose problème pour cette foncionnalité. #Les objets ordinateur seront crées manuellement. #add user script = /usr/sbin/useradd -d /dev/null -g pc -s #/bin/false -M %u$ #activer le support DFS host msdfs = yes #Nom du script qui est exécuté lorsque les utilisateurs se #loguent avec windows. Il doit se trouver dans #/var/samba/netlogon/ logon script = netlogon.bat #Chemin ou sont stockés les profils utilisateurs # %u pour mettre dans des répertoires différents selon les #utilisateurs. %L : nom net-bios de la machine - %u utilisateur #courant. logon path = \\%L\profiles\%u #script d’exécution pour les machines windows au login. preexec = echo %T: %u connected on %m >> /var/log/samba/users.log #script d’exécution pour les machines windows au logout. postexec = echo %T: %u disconnected from %m>> /var/log/samba/users.log #================= Configuration des partages =================== [netlogon] comment = Répertoires scripts path = /var/samba/netlogon #Si browseable = no alors on ne peut pas voir le partage sur le #voisinage réseau et dans un navigateur browseable = No [profiles] comment = Homes windows path = /var/samba/profiles browseable = No read only = No [homes] comment = Répertoires personnels path = /home/%U browseable = No read only = No [commun] comment = Répertoire commun - 2 % . )* * + * * ,* path = /commun browseable = yes writable = yes guest ok = yes 4.3 Comptes utilisateurs % ++ 1 4 , *3 , + 3 54* N- %4 %*+ *% D%* <% 5 * 4 5; 4 % +<%*+ *% ) * 5 * *% % 5 *1 % 5 *%*+ *% E 5; F *E 5; F !" PDC-SAMBA:~# smbpasswd –a root New SMB password: ****** Retype new SMS password: ****** ,* <% %*+ *% & PDC-SAMBA:~# useradd –m isidore D%* +<%*+ *% 5; & PDC-SAMBA:~# smbpasswd –a isidore New SMB password: ****** Retype new SMS password: ****** Added user isidore ,* <% - %4 & PDC-SAMBA:~# groupadd pc # 4.4 Racine DFS % ) 3 , + ,4 * ,4 * $ :% +< ) 3 , N6 5 N 5; *N6 5 N 5; N$1 < * + B5; +:% ) + %* 4 *- 3 %, % PDC-SAMBA:~# ln –s 'msdfs:serveur1\nom de partage' alias1 PDC-SAMBA:~# ln –s 'msdfs:serveur2\nom de partage' alias2 - 22 % . )* * + * * ,* * * +$%*4 *- + ,4 * %) * >+ $ %$36 3 $-% * N6 5 N 5; N$1 D%* + +5; 1 EN*3N 5; N5;13 $F [dfs] comment = Partage DFS path = /home/samba/dfs msdfs root = yes - 2 % . )* * + * * ,* 4.5 Imprimante PDF $ *% $+* :% 4 5 * * $ 5 % 3%5 *4 *3 4*E14 F 3%5 * 3 ; * E14 $F1 % 4 %) K+O %*+ +3 55 *9 54+5 *E4 4 $ 14 14 $F1 % ++ 3 , % 54 5 * 4 $1 , % 3 4* *+ 4+3 % %& #!/bin/sh DATE=`date +%b%d-%H%M%S` OUTDIR=/commun ps2pdf $1 $OUTDIR/$DATE.temp mv $OUTDIR/$DATE.temp $OUTDIR/$DATE.pdf rm $1 + 3 4* 7,3%*;+ PDC-SAMBA:~# chmod +x /usr/bin/printpdf D%* + +%) * >+ $ %$36 EN*3N 5; N5;13 $F 4 % ) % ;D* 54 5 *1 3 $-% * [pdf] path = /tmp printable = yes guest ok = yes print command = /usr/bin/printpdf %s %U - 2/ % . 5; )* * + * * ,* 5 CLIENT WINDOWS % % ) 5 1 3 55 *,- % 3+ * 4 $ ++1 %* <; & @ ) + 5 $5 + + +$%* < % :% 3 +%=3 4 5 *4 <C* 3+ * <% +$%*3 , % ;D*3 54%* % + 3 *?+% 5 * )3 + PDC-SAMBA:~# adduser --ingroup pc --shell /dev/false --nocreate-home --force-badname nom_machine$ % +OD%* >N*3N 5; N5;4 @ & PDC-SAMBA:~# smbpasswd -m -a nom_machine$ % +< *,- * 36*3*% 3*) 3* B *) 3 + *3 ,, %*5 *:% 5 *+ %3+ * % 5 E3 54* < *% 8F1 5.1 Configuration des paramètres réseaux 3 3 1' & + * 54 * * <3*) + , +%* *+ 3 $-% * %3 *?+% 5 % 3 $-% +3 * & % 3+:% )% & * *+ % + 3+ * % ) 3,P * ++ * 4+% :%<> *,- @ % + ) % E) + 4 * F * % + 3+ *@ @1 +$%* ++ +< -+* + 43 % 5 - 28 % . + 4 4 ,*, , % 1 +$%* D%* +< & % )* * + * * ,* - 2A % . )* * + * * ,* 5.2 Intégrer un client Windows XP PRO SP2 dans le domaine +:% ,+3* 6 ,+3* D E3 ) 3 + ; %* 4 4 ,*, & +< -+*H 5 + $ C* 3 = F& * + % % +<3? H * * ) +I 4% +< *% I 4% 3+:% % H % +< 4* 5 **4 + - 20 % . $ I1 5 % 5 > )* * + ** >4 , +:% % +<D%* % 5 49 ) +:% % * * ,* *+ 3 54* Q4 % )+ ,% * + 3+:%, % * + 5 3 Q + *+ Q > %) %1 < 5; :% 5 *% * 5 * *% % 5 <339 $ * %3 *?+% ** + 5 - %) *& , ; *1 - 2G % . ,5 +< *% & 5 1 )* * + * * ,* 6 CLIENT LINUX 6.1 Prérequis 3+ *+ %7 *% 4 *;+ +3 54 * % 3 3,>A (K % )) *% 3 * ) , 8 '1 **% :% % *B4 A 0 ' 2J 1 ' 5,5 B *95 <74+ ** *% ; - *;+ *++, ) 3 + B % 10 E4 % 3 + +$%**4 '$(>+< )* < *++* *%* % ,;%* + *++ + B % 18F1 ,$, 3 7 3* %M + * 101J= =/J01 6.2 Installations supplémentaires : % 4 %) D 3+ * + %7 % 5 ' E F +$%*%*+ ! " *%*+ + 3 54* + $%* 3*4 + 3 55 3= % 4 % *++ @ ; CLIENT-LINUX:~# apt-get install winbind @ ; 5; < *4 *++, @ ; 5 $ * ) 3+ $36 3 $-% * /" & + < *4 ;+ - * < H 5; =3+ *I %$$*F1 :% * $%*+ + ,4 4 ,$%*1 *++ ; & *++ * 1 3 $-% * 5; E5;13 $F1 + 4 * *4 , + - 2J % . % % 5 )% 5; E+ 4 :% * +< *++ * 4 :% * + )* * + * * ,* 6.3 Configuration du client linux ) % % $36 4 5 * < %*+ *% & + $%* 54+ 5 * D%* + # # # # # *" :% + 4 - 55 :% < 33%4 *+ :%, +< 7 54+ 3= %& /etc/nsswitch.conf Example configuration of GNU Name Service Switch functionality. If you have the `glibc-doc' and `info' packages installed, try: `info libc "Name Service Switch"' for information about this file. passwd: group: shadow: compat winbind compat winbind compat hosts: networks: files dns wins files protocols: services: ethers: rpc: db db db db netgroup: nis ) % $36 + 3 55 + - * H files files files files % &% &" % I *%*+ ,4 % 3 $-% 5 ,- + 5 * 1 #======================= Global Settings ======================= [global] workgroup = CNAM server string = %h server (Samba %v) netbios name = client-linux1 security = domain #wins support = no wins server = 192.168.1.254 dns proxy = no #name resolve order = wins lmhost host bcast log file = /var/log/samba/log.%m max log size = 1000 #syslog only = no syslog = 0 panic action = /usr/share/samba/panic-action %d - 2. % . )* * + * * ,* #======================= Configuration de WINBIND ===================== idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash template homedir = /home/CNAM/%U winbind separator = / winbind enum users = yes winbind enum groups = yes winbind use default domain = yes + , ' - + $%*3 55 3 4 C* + ) % 5; *@ ; & CLIENT-LINUX:~# /etc/init.d/samba stop CLIENT-LINUX:~# /etc/init.d/winbind stop 3 + 3 55 4 % D%* + ' + CLIENT-LINUX:~# net rpc join –U root %* + $%*,) 55 * * + 5 * 4 *%*3 4 ; + 5 Joined domain CNAM 5 *% 5 & 5; 1 - %) * < $$36 & ,5 5; *@ ; & CLIENT-LINUX:~# /etc/init.d/samba start CLIENT-LINUX:~# /etc/init.d/winbind start . $$36 + + * %*+ *% % 5 CLIENT-LINUX:~# wbinfo -u & $$36 + + * - %4 % 5 & CLIENT-LINUX:~# wbinfo –g , $ :% +<%*+ *% % 5 4 *3%+ *3 3*5 * 3 %& CLIENT-LINUX:~# wbinfo –a CNAM/isidore%isidore - % . )* * + * * ,* ) - * 3+ % 4 %) < %*6 *$ < %*6 *$3 * $36 >5 %+ 1 ' % ) 3 $-% ,+ $ & LINUX:~# /etc/pam.d/common-account LINUX:~# /etc/pam.d/common-auth LINUX:~# /etc/pam.d/common-session / * , # # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # account sufficient pam_winbind.so account sufficient pam_unix.so / * , * # # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth sufficient pam_winbind.so auth required pam_unix.so use_first_pass #auth required pam_unix.so - 2% . )* * / * + * * ,* , # # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). The default is pam_unix. # session required pam_unix.so session optional pam_mkhomedir.so 4 %*>4 % 5 1 * 3 3* 5 3 + 4% + 3+ *+ %7 ) 3% %*+ *% 6.4 Scripts de connexion % 4 %) 5 44 @1 *& @ :% , % % + %7 = 3, % 3 4* ,5 4 *-, * %* - 4 5 ** *+ + 3 + 3* ,3 F = 3, % 3 4* 4 *-, 1 7 ,3 4 5 ** * * %* $ * 5C5 :% ,-+ - %*+ ,5 *% E5 % *- * + 6.4.1 Création du script de démarrage : + < $$3*% %7,*4 & = 3, * <% 3 4* * *%41 6E+ = + 3 3 4* % ,5 + . 5 < 4 1 " %3 < 54 * 3 F " 3 + $%* 3 4 + $5 * %) * % , *% *7* 4% -* + $36 N *3N * *%41 6E+ 5 *+ + 3 * %$36 < *4 < 54 * 3 5 + $%* < % :% +<%*+ *% 4 % +< 7,3%* F1 #!/bin/bash #script de démarrage de sessions - % . )* * + * * ,* # si rep_perso n'existe pas, il est créé. if [ ! -d $HOME/rep_perso ]; then mkdir $HOME/rep_perso fi #crée un raccourci vers le montage if [ ! -e $HOME/Desktop/rep_perso ]; then ln $HOME/rep_perso --target-directory=$HOME/Desktop --symbolic fi #extrait user de $USER même s il contient CNAM (on veut juste #récupérer le nom d utilisateur et pas le nom de domaine donc #à la place de CNAM/isidore, on récupère isidore user2=$USER if [ `expr match "$USER" 'CNAM/'` -gt 0 ]; then user2=${USER#CNAM/} fi #monte le dossier personnel de l'utilisateur smbmount //192.168.1.254/$user2 $HOME/rep_perso 4% $ + $36 + $36 . $36 " 3 " ! $36 %) * $ 36 :% 4 $+ %*+ *% *3M, N6 5 NR 1; 6 3 1; 6 4 $+ 1; 6 + - %* *1- 5 3 3 4* $36 $36 $36 - *, %) % * 5 + * *4 + 3 55 7,3%*;+ & chmod +x /etc/startup.sh1 % 4 %) ) + & 1; 6 3 *1; 6 4 $+ * 7,3%*, %+ - <% 6 ++1 1- 5 3 * 7,3%*, %+ - <% - 5 1 1; 6 + - %* * 7,3%*, %+ - %* % 6 ++1 + 7 * % ,4 * 44 +,N *3N M + :% 4 5 * *3M + 4 $+ %*+ *% 4 ,$%*1 % 4 5 + - <% %) + %*+ *% + $36 <B* %) * * %*5 *:% 5 *3 4, + 4 $+ %*+ *% N6 5 NR * 44+ :%, 4 + 5C5 33 1 - /% . )* * % ++ 1- 5 3E %+ 3, + * * ,* 34 ,4 * ,5 1 % 3 + + $%*, * < + < 7 * 4 F *B 3 4 + 3 * % %) *& exec /usr/bin/gnome-session | /usr/bin/gnome-terminal –e /etc/startup.sh 3 3 % 4 5 * < 7,3%* * *%41 6 % $ C* * 5 + - 46:% * 4 %) *4 * 5 * 4 4 % 5 44 + :% , %1 & * 4 ;+ *, 3 55 +<%*+ * M ; + 3 55 5 %* % +<%*+ * 4 5 ** * % %*6 *$3 * % :% +<%*+ *% 1 3 ,)* * + *4 % 5 * 4 % * 5 +1 + %$$ * 4 3, + $36 1- 5 3 * *4 + 3 55 6 N *3N * *%41 6 + $36 1; 6 3 % 1; 6 4 $+ 1 +6 % % 5 * % < ) 4 4% ,*% 3 4 *4 5 :% *54 1 6.4.2 Création du script de déconnexion ) **%* ,5 < + < 7 * 4 F *B 3 4 ,4 * , %F& % 5 + $%*, * 1; 6 + - %*E %+ 3, + 3 * % %) *E3 +%=3 4 5 * ,5 * + #.bash_logout #Script de déconnexion #démonte le répertoire personnel de l’utilisateur smbumount $HOME/rep_perso #supprime le repertoire de montage rm –r $HOME/rep_perso #supprime le raccourci vers le repertoire de montage rm $HOME/Desktop/rep_perso 4 1 +<%*+ * +< * $3 - 46:% 4 %*%*+ N *3N 22N7 5N *1 * ,3 - 8% . 4 % 7,3%* % 3 4* $ )* * + * * ,* 6.5 Lancement d’une session graphique linux 4 " 5 %3 $( 2" $ " % 3+ *4,+ 3 55 N *3N 22N $%+*= 4+ B=5 - $2" $ ) ! $ 4*=- * *++ 7 51 ) %* + $36 $$3 *%* * D%* + + - & N% N; N7 51 4 9 + ,5 + %7 ) % ) 3% + - *% 4 @ 1 % < %*6 *$ 3 55 3= %& - & @ 6$ $% ! % % ! 3 /" " $ 1 %+ $ C* 4 5 * % 5 + $%*3 54+,* *$ N & 3 ** + + ,5 5 ) 3% * 5 + 5 *% 5 * 4 1 , + *,+ 5 * 4 5 , *3 +% 4 5 ** * 5 * % ,4 * 4 *-, % + %7E,:%) + * <% :% , % % @ @ F1 + $%* 3*4 + 5C5 5 * 4 :%< % ,5 + 1 3 + $ C* L) % ) K*4 ) * 5 * 4 - A% . & )* % ) +>5 * * + * * ,* *3 3*, % 5 & - 0% . )* 4 % 4 %) K + + * + %) + & * * ,* 33 % 3 4 4 :% 4 - G% . *) + :% , % )* +> + * + * * ,* * 4+% :%<>* ) ++ 1 - J% . )* * + * * ,* 7 CONCLUSION <,*% $$3*%, % 4 5 * ) ++ % % ) 5 * B *95 < 74+ ** 5 7* 1 4% 5 * :% @ @ *+ %7 4 %) *3 6 ;* % ) % +<%*+ * <% 5 4 5 ** * + + ; *, %7 %*+ *% < ) 3 * 5 36 $$, * < %* 4 % 44+ 3 * ; 4 ,3 1 4% 4 7 54+ 3 *% % 5 ) 3& = 3+ * @ @ 4% + )3 %*+ * 44+ 3 * $ 3* *:% %@ @ E7& %*3 F = 3+ * + %7 4 % %*+ *% * E3 + 4 5 * 5 % + 3 S* +3 3 F = 3+ * 5 3 * 6 4% 4 $ * %- 46 5 1 3 ** :% +< 5 * *% % , % 3 ) + ; *, 36 7 34 * %4 7 <% % 3 S* *54 S>% 4 36,*, -9 1 - .% .