Vous êtes sur la page 1sur 12

ALADCOUVERTEDESAMBA4

GNU/LinuxMagazinen153|octobre2012|JulienMorot

Administrationrseau Administrationsystme Audiovido

Bureautique PeopleInterview Programmation Scurit Utilitaires

Web

Engestationdepuisenvironunedizained'annesauprsdesesdveloppeurs,Samba4viseremplacerSamba3,quilui,assuraitlesfonctions
d'undomainedetypeNT4.RentronsaucurdesrseauxActiveDirectoryalorsquelasortied'uneversionseprofilel'horizon.

1.INTRODUCTION
LasuitedelogicielsSambaestunerimplmentationenlogicielslibresdesprotocolesrseauclientsetserveursdeMicrosoft.Lanotiondelibertestparticulirement
chreauxdveloppeursduprojet,carilatlepremierprojetd'envergureadoptercettelicenceenpassantSamba3.2sousGPLv3ds2007.Jusqu'ici,Samba3tait
capabledecouvrirl'ensembledesfonctionnalitsd'unrseaudetypeNT4avecuncertainnombred'amliorations,commelapossibilitd'utiliserOpenLDAPcomme
backenddestockageouencoreunfonctionnementencluster,bienquecesfonctionnalitssoientrelativementcomplexesmettreenuvre.Samba3grenotamment
l'authentificationenmodeserveurmatre/esclave(PDC/BDCpourPrimaryDomainControleretBackupDomainControler)etlafournituredesservicesdepartagedefichiers
etd'impression.
Lacompatibilitavecl'ActiveDirectorydeMicrosoftestcependantlimitelapossibilitdejoindreundomaineausensdomainedescuritetildevenaitdeplusen
pluspressantderattraperleretardaccumul.Eneffet,ActiveDirectoryestsortien2000,Samba4atdmarren2003etbienquelaversionfinalecommencepointer
leboutdesonnez,ilaurafallupresquedixanspouracheverletravailtitanesquequereprsentelarimplmentationdetouslesprotocolesenjeu.

2.QU'ESTCEQUEL'ACTIVEDIRECTORY?
L'ActiveDirectoryconsisteenuneintgrationparticulirementpoussed'uncertainnombredeprotocolesplusoumoinsstandardissdanslebutdefournirdesservices
d'authentification,deconfigurationetd'administration(dploiementdelogicielsetdeconfiguration)centraliss.Fonctionnellement,c'estunevolutiondecequ'iltaitdj
possibledefaireauparavant,carlesprincipauxobjetsstocksdansl'ActiveDirectorysontdesutilisateurs,desgroupesetdesordinateurs.Techniquement,l'volution
apporteparlamigrationversdenouveauxprotocoles,permetdepartitionnerlesressourcesdemanirescurise,logique,letoutavecunpassagel'chelleplus
important,carstockdansunebasededonnesrplique,laNTDSpourNTDirectoryServices.

2.1NOTIONDEDOMAINEETDECONTRLEURDEDOMAINE

Chaqueserveurhbergeantl'ActiveDirectoryouunepartitiondeceluiciestappeluncontrleurdedomaineouDC.LenomdedomaineDNSestpardfaututilispourle
nommagedudomaineActiveDirectory.Parexemple,sivotredomaineDNSinterneestreseau.local,alorsl'arborescenceLDAPdel'ActiveDirectory
seraDC=reseau,DC=local.ToutcommeleDNS,ilestpossibledecrerunouplusieursdomaine(s)etsousdomaine(s)auseindel'AD.L'ensembledesdomaineset
sousdomainesregroupsauseind'unemmefortpartagentlemmeschmaActiveDirectory(etdoncLDAP),ainsiquedesrelationsd'approbationentrelesdomaines.
Pardfaut,lacrationd'undomaineoud'unsousdomaineentranelacrationd'unerelationd'approbationd'authentificationtransitiveetbidirectionnelle.
LafonctionnalitCatalogueGlobalauseind'uncontrleurdedomainepermetceluicidecontenirunevuepartielledesobjetsdesautresdomaines,afindepermettrela
recherched'objetssitusdansd'autresdomainesplusrapidementsansncessiterunerplicationcomplteducontenudesdiffrentsdomaines.Contrairementunrseau
NT4/Samba3,chaquecontrleurdedomaineestuncontrleurdedomainematre,iln'yadoncplusdenotiondecontrleurdedomainesecondaire.Anoterqu'avec
Windows2008Server,Microsoftaintroduitlanotiondecontrleurdedomaineenlectureseule.Ilassurel'ensembledesfonctionspermisesparuncontrleurdedomaine,
l'exceptiondufaitqu'ilestexcludelarplicationmultimatreetnecontient,commesonnoml'indique,qu'unecopieenlecturedudomaine.Cetypedecontrleurde
domaineestencoursdepriseenchargeparl'quipeSamba.
Cependant,afind'assurerl'unicitdecertainesinformationsauseindudomaineoudelafort,certainesfonctionnalitssontuniques:
Lerled'mulateurdeContrleurdeDomainePrincipal,uniqueauseind'undomaine,assurelacompatibilitdescendantepourl'authentificationdetypeNT4.
LerleMatred'IDentifiantsRelatifs,uniqueauseind'undomaine,assurel'unicitdesidentifiantsallousauxautrescontrleursdedomaine(l'quivalentdesUID/GID
Unix).Relatifvientdufaitquechaqueobjetestidentifiparunidentifiantunique(leSID),quiestlaconcatnationdel'identifiantdedomaineetduRIDdel'objet.
LerleMatred'Infrastructure,assurelaconsistancedesSID/GUIDauseindesobjetsdudomaine.Enpratique,ilgresurtoutlaconsistancedelarsolutiondenomdes
objetsdanslesgroupesdel'ADetledplacementdesobjetsentredomaines.
LerleMatredeSchma,uniqueauseind'unefort.Grelaconsistanceetlarplicationduschmaauseindelafort.
LerleMatredeNommagedeDomaine,grel'unicitdesnomsdedomainesADlorsdel'ajoutoulasuppressiondeceuxci.

2.2LESTYPESD'OBJETSPRINCIPAUX
Lesobjetsdel'ActiveDirectorysontstocksdansunannuairecompatibleLDAP.IlestdoncinterrogeablenaturellementvialesportsLDAP(389/TCP),LDAPS(636/TCP),
ainsiqu'unportspcial,leportcatalogueglobal(3268/TCP).CeportpermetderequterenLDAPuncontrleurdedomainepourdesobjetssesituantsurl'ensembledela
fort.L'ActiveDirectoryayantpourbutpremierlagestiondel'authentification,desautorisationsetducontrled'accs,lestypesd'objetsprincipauxsontdonctoutfait
classiquesdanscetypedeconfiguration.Onvadoncretrouver:
Lesunitsd'organisation,quisontdesconteneurspermettantdehirarchiserlesautresobjetsquel'onvaretrouver.Ellessontutilisespourclasserstructurellementles
objetsenfonctiondeleurrleauseind'uneorganisation(services,sites,etc.),soitpouraffecterdesdroits.Bienentendu,cesdeuxrlesprincipauxnesontpas

mutuellementexclusifs.
Lescomptesutilisateurs.
Lescomptesd'ordinateur,permettanttoutcommeauniveauutilisateurd'auditeretd'authentifierl'accsauxressourcesdudomaineauniveauordinateur.
Lesgroupes.Ilexistetroistenduesdegroupes:locale,globaleetuniverselle,permettantd'affecterdesautorisationsrespectivementpouruniquementledomainelocal,
toutdomaineousousdomaine,outoutelafort.Deuxtypesdegroupesexistent,lesgroupesdescuritpourl'affectationd'autorisationsetlesgroupesdedistribution,qui
serventsurtoutpourlesapplicationsdemessagerie.NotezquecontrairementauxgroupesPOSIX,l'ActiveDirectoryprendenchargelesgroupesincluantd'autresgroupes.

3.MISEENPLACED'UNDOMAINESOUSSAMBA4
LamaquetteutilisepourcettemiseenplacesebasesuruneDebiantesting.Cechoixestvoulupoursimplifiercetarticle.LeDNSestunlmentcld'unearchitecture
ActiveDirectory.LesclientsnotammentrecherchentlescontrleursdedomaineviadesrequtesDNSdetypesrv,afindelocaliseruncontrleurdedomaineetuncertain
nombredemisesjourDNSdynamiquessefontviaKerberos.Or,l'quipeSambaaremontuncertainnombredepatchsl'quipedesdveloppeursBindpourune
meilleurepriseenchargedecettefonctionnalit,quincessiteuneversiondeBindplusrcentequecelledelaDebianstable.AfinderesterconcentrsurlapartieSamba,
jen'aiprfrpasalourdirlamiseenplaceducontrleurdedomaineparlacompilationdeBindenversion9.8auminimum.

3.1PRPARATIONDUSERVEUR
Quelquespaquetsserontncessaires,soitlacompilationdeSamba,soitsonbonfonctionnement.Onpeuttouslesinstallerenunefoisdecettefaon:
aptgetyinstallbuildessentiallibacl1devlibattr1dev\
libblkiddevlibgnutlsdevlibreadlinedevpythondev\
pythondnspythongdbpkgconfiglibpoptdevlibldap2dev\
bind9utilsdnsutilslibtoolgitxsltproclibpam0gdev\
attraclpsmiscbind9ntplibtalloc2libtallocdev
Ensuite,lesystmedefichiersetlemontagedevospartitionsdoitprendreenchargelesACLetlesattributstendus.Ilvousfaudradoncmodifierle
fichier/etc/fstabenconsquence.Exemple:
/dev/sda1/ext3user_xattr,acl,errors=remountro01
Pourviterderedmarrerleserveurpourlespartitionsactives,ilestpossibledelesremonteraveclesoptionsadquatesdecettefaon:
mountoremount,rw,acl,user_xattr/
Enfin,leprotocoled'authentificationpardfautdel'ActiveDirectorytantKerberosv5,ilestimportantqueleshorlogessoientl'heure.Nousavonsdoncinstallleserveur

NTPDlorsdesprrequis.IlfautdoncindiquerleserveurNTPsourceetlefirewalldurseaudevraautoriserlesrequtesNTPversl'extrieur.Celarevientdfinirle
paramtreserveurdufichier/etc/ntpd.conf.Ceparamtrepeuttremultivalu.Jevousrecommanded'utiliserfr.pool.ntp.orgafind'avoirunelistedeserveurs
sourcesfiablesetdisponibles.
Petitenotesupplmentaire,encasd'utilisationd'uneautredistribution,ilsepeutqueAvahietsonmcanismedersolutionmdnssoitprioritairedanslemcanismede
rsolutiondenomsetquesi,commemoi,vousutilisezunnomdedomaineDNSavec.localcommesuffixe,ilfaudraparamtrerlefichier/etc/nsswitch.confdela
sorte:
hosts:filesdns

3.2COMPILATIONETINSTALLATION
Cetarticlesebasesurladernireversionbtalorsdesardaction,c'estdirelabta5.Lacompilationdulogicielrevientfaireunsimple./configure&&make&&
makeinstallhabituel.Uneseuledpendanceestrequise,ldbquiestunebasededonnesavecuneAPIprochedel'APILDAPetquisertdebackenddestockage
Samba.Jevousinvitegalement,pourplusdecommodit,ajouterlecheminverslesbinairesSambaauPATHdevotreshell.Jesupposeraid'ailleursquec'estlecas
pourlasuite,afindesimplifierlescommandes.
wgetftp://ftp.samba.org/pub/ldb/ldb1.1.9.tar.gz
tarzxvfldb1.1.9.tar.gz&&cdldb1.1.6
./configure&&make&&makeinstall
wgetftp://ftp.samba.org/pub/samba/samba4/samba4.0.0beta5.tar.gz
tarzxvfsamba4.0.0beta5.tar.gz&&cdsamba4.0.0beta5
./configure&&make&&makeinstall
echo"exportPATH=$PATH:/usr/local/samba/bin/:/usr/local/samba/sbin/:">>~/.bashrc&&source~/.bashrc

3.3CRATIONDUDOMAINE
Lacommandeprovisionestl'quivalentdelacommandedcpromo.exesurunDCWindowsServer.Ellesechargedegnrerledomaineaveclescomptespardfaut
etlesfichiersdeconfigurationBind,Kerberos,etc.,correspondantaunomretenupourledomaine.Parconvention,j'aicrundomaineavecunTLD.local.Le
provisionningdudomainevousdemanderalemotdepasseducompteadministrateur(dnommadministrator)etdevrarpondredesexigencesdecomplexit
(chiffres,majuscules,minusculesetsignesdeponctuation),sansquoivousserezhonord'unebelleexceptionPython.
#provision
Realm[DOMAIN.LOCAL]:
Domain[DOMAIN]:
ServerRole(dc,member,standalone)[dc]:

Administratorpassword:<secret!>
Retypepassword:<secret!>
LookingupIPv4addresses
LookingupIPv6addresses
NoIPv6addresswillbeassigned
Settingupshare.ldb
Settingupsecrets.ldb
Settinguptheregistry
Settinguptheprivilegesdatabase
Settingupidmapdb
SettingupSAMdb
Settingupsam.ldbpartitionsandsettings
Settingupsam.ldbrootDSE
PreloadingtheSamba4andADschema
AddingDomainDN:DC=domain,DC=local
Addingconfigurationcontainer
Settingupsam.ldbschema
Settingupsam.ldbconfigurationdata
Settingupdisplayspecifiers
Addinguserscontainer
Modifyinguserscontainer
Addingcomputerscontainer
Modifyingcomputerscontainer
Settingupsam.ldbdata
Settingupwellknownsecurityprincipals
Settingupsam.ldbusersandgroups
Settingupselfjoin
AddingDNSaccounts
CreatingCN=MicrosoftDNS,CN=System,DC=domain,DC=local
CreatingDomainDnsZonesandForestDnsZonespartitions
PopulatingDomainDnsZonesandForestDnsZonespartitions
See/usr/local/samba/private/named.confforanexampleconfigurationincludefileforBIND
and/usr/local/samba/private/named.txtforfurtherdocumentationrequiredforsecureDNSupdates
Settingupsam.ldbrootDSEmarkingassynchronized
FixingprovisionGUIDs
AKerberosconfigurationsuitableforSamba4hasbeengeneratedat/usr/local/samba/private/krb5.conf
Oncetheabovefilesareinstalled,yourSamba4serverwillbereadytouse
ServerRole:activedirectorydomaincontroller
Hostname:srvdc1

NetBIOSDomain:DOMAIN
DNSDomain:domain.local
DOMAINSID:S1521281393942926751926443843174914
AphpLDAPadminconfigurationfilesuitableforadministeringtheSamba4LDAPserverhasbeencreatedin
/usr/local/samba/private/phpldapadminconfig.php.

3.4PARAMTRAGEDUSERVEURDNS
LestockagedesdonnesdelazoneDNSdomain.localtantralisparSamba,laconfigurationdeBindestrelativementsimplifie.
Dansunpremiertemps,ondfinitlestockagedeszonesdevantpasserparlepluginBinddlz(DynamicallyLoadableZones)chargerviale
fichier/etc/bind/named.conf.local:
include"/usr/local/samba/private/named.conf"
Puis,danslefichier/etc/bind/named.conf.options,onindiquelecheminverslakeytab.UnekeytabestuneclKerberoscrypteetstockesurdisque,permettant
danscecasprcisBinddes'authentifiersurleKDCdefaontransparente,sansncessiterd'entrerunmotdepasse.Cepointestncessaire,carlaplupartdesmises
jourdynamiquesdeszonespassentparTSIGGSSAPI.
options{
[...]
tkeygssapikeytab"/usr/local/samba/private/dns.keytab"
}
CettecldevrabienentendutreuniquementaccessibleparBind,unchownroot:bind/usr/local/samba/private/dns.keytab,suivid'unchmod
0640s'imposedonc.Pensezredmarrerleservicebindpourqueceschangementssoientprisencompte.
Notezqu'unserveurDNS,dontlavocationn'estbienentendupasdeconcurrencerBind,estendveloppementparl'quipeSamba.Lamotivationestbienexpliqueparle
crateurdeSamba,AndrewTrdigell,dansunpostsursonblogquivaaudeldusoucidesimplificationdel'installation.Lebutestdepermettrederpondrefacilementaux
quatremthodesdemisejourduDNSquiexistentsurunrseauActiveDirectory,soitlesmisesjourDDNSsignesviaTSIG(Kerberos),lesmisesjourfaitesparles
contrleursdedomainesenlectureseulevialesMSRPC,lesrplicationsdel'ADintercontrleursdedomainevialeDRSetenfin,lesmodificationsralisesenLDAP,
backenddestockagepardfaut.
Pourlesplusaventureuxquisouhaiteraienttester,voicicequ'ilfautindiquerdanslefichier/usr/local/samba/etc/smb.confavantderelancerSamba:
serverservices=rpc,nbt,wrepl,ldap,cldap,kdc,drepl,winbind,ntp_signd,kcc,dnsupdate,s3fs,dns
allowdnsupdates=True
dnsforwarder=8.8.8.8

dnsrecursivequeries=yes

3.5DMARRAGEETARRT
Pourdmarrerl'ensembledesprocessus,riendeplussimple,ilsuffitdelancerlacommandesamba.Pourl'arrter,unkillallsambasuffit.Jelaissedoncaulecteurla
rdactiond'unscriptd'initquiseradoncd'unesimplicitdconcertante,Debianfournissantenoutrelemodledescript/etc/init.d/skeleton.

3.6INTGRERUNPOSTEAUDOMAINE
PourintgrerunposteWindowsundomaineAD,ilfautobligatoirementuneversionprofessionnelle,lesversionsfamilialesn'tantpasprisesencharge.QuecesoitenIP
fixeouenDHCP,leposteclientdevraparvenirrsoudrevotrezoneDNS.Enfin,etceciestunecontrainteinhrenteauprotocoleKerberos,ilnedoitpasyavoirun
dcalaged'horlogedeplusdecinqminutesentreleKDCetleclient.Ilneresteplusqu'intgrerlespostescommesuit(oubiengraphiquementsiavouschante):
netdom/domain:domain.local/user:administrateur/password:secretMEMBERPCJAMBON/joindomain

3.7ADMINISTRATIONGRAPHIQUE
LeprojetSambatentantdereproduireauplusprochelecomportementdesdiffrentscomposantsdel'ActiveDirectory,lesoutilsgraphiquesditsparMicrosoftsont
parfaitementfonctionnelsetcompatiblessuruneinfrastructureSamba.IlestdoncgalementpossibledegrerlesstratgiesdegroupesdepuislaconsoleMMCapproprie
sielleestinstallesurunposteWindows.Laconnexionaudomainedevratreeffectueavecuncomptedisposantdesdroitsadmindudomaine.Surunpostesous
WindowsXP,ilfaudradoncinstallerlekitderessourcestechniquespourWindows2003ServerSP1,ainsiquel'adminpak.LespostessousWindowsVistaouWindows
Seven,quanteux,ncessiterontlesRemoteServerAdministrationTools.

3.8UNSECONDCONTRLEURDEDOMAINE
Commejeledisaisplushaut,undomaineActiveDirectoryn'estpaslimituncontrleurdedomaine,contrairementauxdomainesSamba3/NT4.Autantdoncprofiterde
cettepossibilitpourassureruneredondancedusystmed'authentification.L'installationdusecondserveursedrouledefaonsimilairecelledupremier.Jevous
recommandedoncgalementuneDebiantesting,quifournitlesdpendancescitesplushaut.Laprocduredecompilationetd'installationeststrictementsimilairelorsque
l'onajouteuncontrleurdedomaineundomaineexistant.Cependant,ilnefaudrapaslancerlacommandeprovision,maissimplementdmarrersamba.Commele
serveurDNSestinstalldansunsecondtemps,ilfaudraquelesecondserveurpuissersoudrevotredomaineADvialeDNS,enprincipe,enfaisantpointerle
fichier/etc/resolv.confverslepremiercontrleurdedomaine.
OnpeutdoncdsormaisintgrerledomaineentantqueDCadditionnel:
root@srvdc2:~#sambatooldomainjoindomain.localDCUadministrator@domain.localrealm=DOMAIN.LOCAL

FindingawriteableDCfordomain'domain.local'
FoundDCsrvdc1.domain.local
Passwordfor[administrator@domain.local]:
workgroupisDOMAIN
realmisdomain.local
checkingsAMAccountName
AddingCN=SRVDC2,OU=DomainControllers,DC=domain,DC=local
AddingCN=SRVDC2,CN=Servers,CN=DefaultFirstSiteName,CN=Sites,CN=Configuration,DC=domain,DC=local
AddingCN=NTDSSettings,CN=SRVDC2,CN=Servers,CN=DefaultFirstSiteName,CN=Sites,CN=Configuration,DC=domain,DC=local
AddingSPNstoCN=SRVDC2,OU=DomainControllers,DC=domain,DC=local
SettingaccountpasswordforSRVDC2$
Enablingaccount
Callingbareprovision
NoIPv6addresswillbeassigned
ProvisionOKfordomainDNDC=domain,DC=local
Startingreplication
SchemaDN[CN=Schema,CN=Configuration,DC=domain,DC=local]objects[402/1550]linked_values[0/0]
SchemaDN[CN=Schema,CN=Configuration,DC=domain,DC=local]objects[804/1550]linked_values[0/0]
SchemaDN[CN=Schema,CN=Configuration,DC=domain,DC=local]objects[1206/1550]linked_values[0/0]
SchemaDN[CN=Schema,CN=Configuration,DC=domain,DC=local]objects[1550/1550]linked_values[0/0]
Analyzeandapplyschemaobjects
Partition[CN=Configuration,DC=domain,DC=local]objects[402/1614]linked_values[0/0]
Partition[CN=Configuration,DC=domain,DC=local]objects[804/1614]linked_values[0/0]
Partition[CN=Configuration,DC=domain,DC=local]objects[1206/1614]linked_values[0/0]
Partition[CN=Configuration,DC=domain,DC=local]objects[1608/1614]linked_values[0/0]
Partition[CN=Configuration,DC=domain,DC=local]objects[1614/1614]linked_values[28/0]
ReplicatingcriticalobjectsfromthebaseDNofthedomain
Partition[DC=domain,DC=local]objects[98/98]linked_values[23/0]
Partition[DC=domain,DC=local]objects[307/209]linked_values[23/0]
Partition[DC=DomainDnsZones,DC=domain,DC=local]objects[40/40]linked_values[0/0]
Partition[DC=ForestDnsZones,DC=domain,DC=local]objects[18/18]linked_values[0/0]
CommittingSAMdatabase
SendingDsReplicateUpdateRefsforallthepartitions
SettingisSynchronizedanddsServiceName
Settingupsecretsdatabase
JoineddomainDOMAIN(SIDS1521281393942926751926443843174914)asaDC
IlresteradoncensuiteraliserleparamtragedeBinddefaontoutfaitsimilaireaupremierDCetadapterlarsolutiondusecondserveurafinqu'ils'interrogeluimme
pourrsoudrelesenregistrementsdudomaine.Veuilleznoterunpointcependant,lepartagesysvol,quicontientlesstratgiesdegroupeetlesscriptsdeconnexion

appliqussurlespostesoulesutilisateursdudomaine,estrpliquviaunprotocole,leDRS,dontl'implmentationestencorejeune.Ilfaudradoncpensermettreen
placeunetchecronrgulirequiraliseraunrsyncrgulierdecepartage,aprsavoirpralablementmisenplaceunchangedeclsSSH:
*/5****rootrsyncazvpdelete/usr/local/samba/var/locks/sysvolroot@srvdc2:/usr/local/samba/var/locks/sysvol

3.9AJOUTD'UNSERVEURMEMBRE
Jenereviendraipassurlestapesdeprparationduserveurnisurl'installationdeSamba4,quisontinchangesparrapportauxdeuxserveursprcdents.Cependant,
danslebutdecloisonnerlesservicesrseau,ilpeuttreutilededlguerlagestiondecertainsservices,commelepartagedefichiers,unserveurddi:
root@srvmember:~#sambatooldomainjoindomain.localmemberUadministratorrealm=domain.local
Passwordfor[WORKGROUP\administrator]:
JoineddomainDOMAIN(S1521281393942926751926443843174914)
Anoterquedepuislabta4,ilestpermisdeproprementpromouvoirunserveurmembreencontrleurdedomainesansperdreleSIDducompted'ordinateurdecette
faon:
root@srvmember:~#sambatooldomaindcpromodomain.localDCUadministrator
LesservicesdepartagedefichierssontdsormaisgrsparunbuilddesdmonsSamba3(nmpdetsmbd)intgrSamba4.Lalittraturefleuritassezsurlesujetsurle
net,defaitjenem'yattarderaipasafinderesterciblsurlesrellesnouveautsdeSamba4.

4.JOUONSUNPEUAVECLALIGNEDECOMMANDES
4.1SAMBATOOL,LECOUTEAUSUISSEDEL'ADMINISTRATEUR
CommetoutbonprogrammeUnix,Samba4estentirementadministrableenlignedecommandes.Lacommandesambatoolpermetderaliserl'ensembledestches
courantesd'administrationd'unrseauMicrosoftWindows.Lasyntaxedelacommandeesttrsbiendtailledansl'aidecontextuelle.Lesparamtresadditionnelssont
documentsenindiquantleparamtreHlasouscommandedsiresansindiquerdeparamtre.
Prenonsconnaissancedudomainequenousavonsmisenplace:
root@srvdc1:~#sambatooldomaininfo192.168.1.250
Forest:domain.local
Domain:domain.local
Netbiosdomain:DOMAIN
DCname:srvdc1.domain.local

DCnetbiosname:SRVDC1
Serversite:DefaultFirstSiteName
Clientsite:DefaultFirstSiteName
root@srvdc1:~#sambatooldomainlevelshow
Domainandforestfunctionlevelfordomain'DC=domain,DC=local'
Forestfunctionlevel:(Windows)2003
Domainfunctionlevel:(Windows)2003
LowestfunctionlevelofaDC:(Windows)2008R2
root@srvdc1:~#sambatoolfsmoshow
InfrastructureMasterRoleowner:CN=NTDSSettings,CN=SRVDC1,CN=Servers,CN=DefaultFirstSite
Name,CN=Sites,CN=Configuration,DC=domain,DC=local
RidAllocationMasterRoleowner:CN=NTDSSettings,CN=SRVDC1,CN=Servers,CN=DefaultFirstSite
Name,CN=Sites,CN=Configuration,DC=domain,DC=local
PdcEmulationMasterRoleowner:CN=NTDSSettings,CN=SRVDC1,CN=Servers,CN=DefaultFirstSite
Name,CN=Sites,CN=Configuration,DC=domain,DC=local
DomainNamingMasterRoleowner:CN=NTDSSettings,CN=SRVDC1,CN=Servers,CN=DefaultFirstSite
Name,CN=Sites,CN=Configuration,DC=domain,DC=local
SchemaMasterRoleowner:CN=NTDSSettings,CN=SRVDC1,CN=Servers,CN=DefaultFirstSite
Name,CN=Sites,CN=Configuration,DC=domain,DC=local
Modifionslastratgiedescuritdemotdepassepour,parexemple,exiger8caractres(contre7),maisn'exigerqu'unemodificationdemotdepasseannuelle(contre
tousles42jourspardfaut):
root@srvdc1:~#sambatooldomainpasswordsettingssetminpwdlength=7maxpwdage=365
Minimumpasswordlengthchanged!
Maximumpasswordagechanged!
Allchangesappliedsuccessfully!
root@srvdc1:~#sambatooldomainpasswordsettingsshow
Passwordinformationsfordomain'DC=domain,DC=local'
Passwordcomplexity:on
Storeplaintextpasswords:off
Passwordhistorylength:24
Minimumpasswordlength:7
Minimumpasswordage(days):1
Maximumpasswordage(days):365
Cronsungroupeetajoutonsdeuxnouveauxutilisateurscegroupe:
root@srvdc1:~#sambatoolgroupadd"TavernedeMoe"
AddedgroupTavernedeMoe

root@srvdc1:~#sambatoolusercreateh.simpsonSpr1ngfi3lgivenname=Homersurname=SIMPSONmustchangeatnext
logincompany="CentraleNuclaire"scriptpathlogin.bat
User'h.simpson'createdsuccessfully
root@srvdc1:~#sambatoolusercreateb.gumbleSpr1ngfi3lgivenname=Barneysurname=GUMBLEmustchangeatnext
logincompany="Duff"scriptpathlogin.bat
User'b.gumble'createdsuccessfully
root@srvdc1:~#sambatoolgroupaddmembers"TavernedeMoe"h.simpson,b.gumble
AddedmemberstogroupTavernedeMoe
root@srvdc1:~#sambatoolgrouplistmembers"TavernedeMoe"
h.simpson
b.gumble
Commevouslevoyez,ilestextrmementfaciled'automatiserl'administrationdesoncontrleurdedomainevialalignedecommandes.J'invitelelecteurlancerla
commandesambatoolsansparamtrepourprendreconnaissancedel'tenduedespossibilitsoffertes(gestiondesutilisateurs,groupes,sites,delazoneDNS,dela
rplication,etc.).

4.2SAUVEGARDERSAMBA
Toutbonadministrateursystmeseposebienvidemmentlaquestiondelasauvegarde.Lasauvegardedesdonnestantacquise,enfinjel'espre,voyonscomment
sauvegarderlapartiesystme.Lamiseenplaced'unsecondcontrleurdedomaine,commenousl'avonsfait,permetdjdesauvegarderl'ActiveDirectoryentantquetel.
EncasdecrashdusystmeoudecorruptiondesbasesLDBdeSamba4,ilestdoncpossiblederemonterl'ADsurleserveur.Ilrestenanmoinsplussimpledanscertains
casdeneraliserqu'unerestaurationdecedontonabesoin.DanslessourcesdeSamba4,danslerpertoiresource4/scripting/bin/estprsentunscriptdj
ralisnommsamba_backup.J'inviteparailleurslelecteurtrecurieuxetjeterunilauxdiffrentsscriptsprsentsdanscerpertoire.Pardfaut,lescript
sauvegardedanslerpertoire/usr/local/backupsetconserveunhistoriquede90jours.Lescripts'utilisedecettefaon:
#./samba_backup<rpertoired'installation><rpertoiredesauvegarde>
Ilresteradoncplanifierlatchevial'habituellecrontabetexternaliserlessauvegardessurunautresupport.

CONCLUSION
Notreescapadeladcouvertedufonctionnementdel'ActiveDirectoryetsamiseenplaceautraversdeSamba4s'arrtel.Bienqu'ilyaitencorebeaucoupdire,nous
avonspuvoirdansquellemesureleprojetavaitavancdemanireimpressionnanteetavoirunpremieraperudesamiseenplace.L'quipeSamban'estpasencoreprte
lancerunemouturefinaledulogiciel,cardescueilssubsistentencoreetl,maisaprstout,certainsadminstmrairesontdjbasculenproductiondesserveurs
surSamba4.

Tags : bash, bind, cron, crontab, debian, diff, dns, firewall, i3, mpd, patch, php,python, rsync, samba, sauvegarde, stockage, windows