Vak: Datacommunicatie en netwerken Naam: Voordeckers Jo Keijzer Thomas Klas: TI3A Datum: 14-12-2003
Wat is Samba en Samba 3.0 server voor Linux instellen als Primaire Domain Controller in een netwerk met Windows XP clients.
Departement BEST - Aalst Samba 3.0
Pagina 1 van 9
Inhoudsopgave 1.Wat is samba...............................................................................................................3 2.Welke eigenschappen heeft Samba.............................................................................3 3.Samba voor Linux instellen als PDC in een netwerk met Windows XP....................3 4.Voorbereidingen voor Samba......................................................................................4 5.Basis /etc/samba/smb.conf bestand.............................................................................5 6.Client instellingen in Windows XP.............................................................................6 7.DNS server instellingen voor Bind 9..........................................................................7 8.Client bij domein aanmelden.......................................................................................9 9.Client aanmelden.........................................................................................................9
Samba 3.0
Pagina 2 van 9
1. Wat is samba Samba is een netwerk-protocol waarbij o.a. Bestanden en printers van een server via het SMB (Server Message Block) protocol te benaderen zijn. SMB bestaat voor Unix, OS/2, Windows en Novell. Dit betekent dat al deze besturingssystemen in een SMB netwerk opgenomen kunnen worden. Samba is hiervan de 'open-source' implementatie en valt onder de GNU bepalingen; elke ontwikkelaar is vrij de sourcecode van Samba aan te passen naar eigen wensen. Resultaat is dat Samba dat bovenop Unix systemen draait, krachtiger en sneller is dan de SMB-server van de Windows familie, dankzij de superieure multi-user architectuur, de stabiliteit, veiligheid en snelheid van Unix gebaseerde operating systemen. Samba is een public-domain file sharing systeem op basis van het binnen Windows (vanaf versie 95 en NT) toegepaste standaard SMB protocol. Met Samba kunnen bestanden en printers worden gedeeld tussen Unix, NT, Windows, OS/2 en novell systemen. Het SMB protocol is eind jaren 80 door Intel en Microsoft ontwikkeld voor Lanmanager, nu is SMB het onderliggende protocol binnen de Windows services "Client for microsoft windows" en "File en printer sharing for Microsoft networks". Samba is de public-domain Unix gebaseerde server implementatie van SMB en alle bijbehorende services. Met op Unix gebaseerde systemen bedoelen wij Sun Solaris, Free & Open BSD, GNU/Linux, MacOS X en andere Unix varianten. Iedere gebruiker heeft bijvoorbeeld een eigen windows netwerk logon, en een eigen home directory die correspondeert met de Unix home directory: zo komt de kracht van de combinatie van Unix en Windows netwerken volledig tot z'n recht. 2. Welke eigenschappen heeft Samba • • • • • • • • • • •
File sharing NT-style /HOME home directories Printer sharing Authenticatie op basis van Unix login of NT-style encrypted passwords Delegeren van authenticatie naar andere (NT) server Windows Network logon scripts Uitgebreide Logging Browse lists met remote announce WINS name server Winpopup messaging Windows password change, inclusief Unix password synchronisatie
3. Samba voor Linux instellen als PDC in een netwerk met Windows XP We gaan nu een totaal overzicht geven van de uit te voeren handelingen om een Primaire Domain Controller op te zetten met behulp van Samba 3.0 op een Linux server, met als doel Windows XP Clients aan te melden. We gaan er van uit dat Samba(3) en Bind(9) reeds geïnstalleerd zijn op de server. Na het wijzigen van de config bestanden (als root gebruiker) op de Linux server is steeds een herstart van de service vereist om de aanpassingen actief te maken. Samba 3.0
Pagina 3 van 9
Om bijvoorbeeld de samba service (“daemon” is een juistere benaming) te herstarten: [root@hostname root]# /etc/init.d/samba restart Stopping Samba daemons: nmbd smbd. Starting Samba daemons: nmbd smbd.
We maken gebruik van DHCP, dus als je dat niet hebt moet je je instellingen zelf even aanpassen. Je linux netwerk instellingen moeten natuurlijk ook goed staan. 4. Voorbereidingen voor Samba Eerst 2 gebruikers groepen aanmaken: [root@hostname root]# group -g 200 admins [root@hostname root]# group -g 201 machines
Daarna directories aanmaken en rechten instellen: [root@hostname [root@hostname [root@hostname [root@hostname
root]# root]# root]# root]#
mkdir chown mkdir chmod
-m 0775 /home/netlogon root.admins /home/netlogon /home/profiles 1757 /home/profiles
Eerst de PC account aanmaken, dit is genoodzaakt anders kun je niet inloggen op het domein, vergeet het dollar “$” teken vooral niet achter de hostname te plaatsen. [root@hostname root]# /usr/sbin/useradd -g machines -d /dev/null -c " hostname_client id" -s /bin/false hostname_client$ [root@hostname root]# passwd -l hostname_client$ Changing password for user hostname_client$ Locking password for user hostname_client$ [root@hostname root]# smbpasswd -a -m hostname_client$ Added user hostname_client$
Hierna moet je standaard users toevoegen, hiermee kun je er dus voor zorgen dat er meerdere mensen via één client kunnen inloggen op het domein. [root@hostname root]# useradd wboard [root@hostname root]# passwd wboard New password: Retype new password: passwd: all authentication tokens updated successfully [root@hostname root]# smbpasswd -a wboard New SMB password: Retype new SMB password: Added user wboard.
Samba 3.0
Pagina 4 van 9
5. Basis /etc/samba/smb.conf bestand # Globale parameters [global] workgroup = “GEWENSTE NAAM VAN JE DOMEIN” netbios name = “HOSTNAME VAN JE PDC” server string = PDC SAMBA bind interfaces only = Yes encrypt passwords = Yes passwd program = /usr/bin/passwd %u passwd chat = *New*UNIX*password* %nn *Retype*new*UNIX*password* %nn *Enter* new*UNIX*password* %nn *Retype*new*UNIX*password* %nn *passwd: *all* authentication*tokens*updated*successfully* passwd chat debug = Yes unix password sync = Yes log level = 2 log file = /var/log/samba/samba.log.%m hide files = /desktop.ini/ntuser.ini/NTUSER.*/ max log size = 250 time server = Yes socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192 domain admin group = @admins add user script = /usr/sbin/useradd -s " " -d /dev/null -g machines -M %u logon script = login.bat logon path = \HOSTNAME PDCprofiles%U logon drive = Q: logon home = \HOSTNAME PDCprofileswin9x%U.profile domain logons = Yes os level = 64 domain master = Yes dns proxy = No veto files = /Network Trash Folder/TheVolumeSettingsFolder/lost+found/ [netlogon] comment = Login service path = /home/netlogon write list = root create mask = 0644 guest ok = Yes [profiles] comment = Roaming profiles directory path = /home/profiles read only = No create mask = 0600 force create mode = 0600 directory mask = 0777 force directory mode = 0777 [homes] comment = Home directory geshared naar logondrive read only = No create mask = 0755 directory mask = 0775 browseable = No
Samba 3.0
Pagina 5 van 9
6. Client instellingen in Windows XP Allereerst moet je even deze registry patch toepassen op alle client machines: Windows Registry Editor Version 5.00 ; ; ; ; ; ;
This registry key is needed for a Windows XP Client to join and logon to a Samba domain. Note: Samba 2.2.3a contained this key in a broken format which did nothing to the registry however XP reported "registry key imported". If in doubt check the key by hand with regedit.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Para meters] "requiresignorseal"=dword:00000000
Dit bestand opslaan als samba.reg, daarna het bestand met de rechter muisknop aanklikken en voor invoegen kiezen. Voeg dit toe in de LMHOSTS file bij al de client machines: **IP VAN DNS SERVER** **hostname van DNS-SERVER**.**domeinnaam** **IP VAN PDC** **domeinnaam**
Ga dan naar: Configuratiescherm > Systeembeheer > Lokaal beveiligingsbeleid > Lokaal beleid > Beveiliginsopties En kijk na of onderstaande opties allemaal uitgeschakeld zijn: Lid van domein: 1. 2. 3. 4. 5.
geen systeemonderhoud van wachtwoord van computeraccount gegevens in beveiligd kanaal digitaal coderen (indien mogelijk) gegevens in beveiligd kanaal digitaal coderen of ondertekenen (altijd) gegevens in beveiligd kanaal digitaal ondertekenen (indien mogelijk) sterke sessiesleutel verplicht (Windows 2000 of hoger)
Ga dan naar: Configuratiescherm > Netwerkverbindingen Klik met de rechter muisknop op de netwerkverbinding en kies voor eigenschappen. Selecteer “Internet-protocol (TCP/IP)”. Klik op eigenschappen, klik op geavanceerd, klik op tabblad dns, vink “De adressen van deze verbinding in DNS registreren” uit.
Samba 3.0
Pagina 6 van 9
Dan pas je op de Linux server volgende bestanden aan: /etc/resolv.conf nameserver **ip-externe bv provider nameserver**
/etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 192.168.0.6
localhost loopback **hostname.domeinnaam**
**hostname**
order hosts,bind multi on
7. DNS server instellingen voor Bind 9 Hieronder staat een basis DNS (BIND versie 9) /etc/bind/named.conf bestand. Alles spreekt voor zich, network range: 192.168.0.* options { directory "/etc"; pid-file "/var/run/named/named.pid"; forwarders { 212.142.28.66; # Externe DNS server (bvb ISP) 192.168.0.1; # Interne DNS server }; }; zone "." { type hint; file "/etc/db.cache"; }; zone "**domeinnaam**" { type master; file "/etc/**domeinnaam**.hosts"; }; zone "0.168.192.in-addr.arpa" { type master; file "/etc/192.168.0.hosts"; }; zone "0.0.127.in-addr.arpa" { type master; file "/etc/127.0.0.hosts"; };
Samba 3.0
Pagina 7 van 9
127.0.0.hosts: (vergeet punten niet achter de hostnamen) 127.0.0.in-addr.arpa. IN SOA **hostname.domeinnaam** ( 128 10800 3600 604800 38400 ) 1 IN PTR localhost.
**hostname**
192.168.0.hosts: (vergeet punten niet achter de hostnamen) 192.168.0.in-addr-arpa. IN SOA **hostname** **hostname.domeinnaam** ( 2001040127 10800 3600 604800 38400 ) @ IN NS **domeinnaam** 9 IN PTR wboard. 6 IN PTR _ldap._tcp.dc._msdcs.**domeinnaam** ;_ldap._tcp.dc._msdcs.**domeinnaam** 600 IN SRV 0 100 389 **domeinnaam**
**domeinnaam**.hosts: (vergeet punten niet achter hostnamen) **domeinnaam** IN SOA **hostname** **hostname.domeinnaam** ( 1061654582; serial 10800; refresh 3600; retry 604800; expire 38400; def. ttl ) **domeinnaam** IN A 192.168.0.6 wboard IN A 192.168.0.9 localhost IN A 127.0.0.1 www IN CNAME **hostname**. pop IN CNAME **hostname**. ns0 IN A 192.168.0.6 ns1 IN A 192.168.0.1 _ldap._tcp.dc._msdcs. **domeinnaam** IN A 192.168.0.6 mail IN CNAME **hostname**. @ IN NS **hostname**. _ldap._tcp.dc._msdcs. **domeinnaam** 600 IN SRV 0 100 389 **domeinnaam**
Samba 3.0
Pagina 8 van 9
8. Client bij domein aanmelden. Meld je aan als root user. Ga naar: Configuratiescherm > Systeem > Computernaam > Wijzigen. Wijzig dan de huidige werkgroep naar een willekeurige werkgroep. Start vervolgens de machine opnieuw op. Ga opnieuw naar Configuratiescherm > Systeem > Computernaam > Wijzigen. Vink Domein aan en vul je domeinnaam in. Als het goed is verschijnt er Welkom bij “domeinnaam” domein 9. Client aanmelden De eerste keer aanmelden verloopt soepel. Je krijgt enkel de melding dat je je zwevend profiel niet kan gevonden worden, dit klopt. Om dit op te lossen kun je het volgende doen: • In je profiles map de rechten van de user map waarmee je inlogt wijzigen in lezen & schrijven voor de user waarmee je aanlogt • Makkelijker: login op het domein met de user die wil bewerken. Ga naar je profiles share, als er nog geen map is die de naam van je username draagt, even aanmaken. De rechten staan nu meteen goed, omdat je dit via je eigen user hebt gedaan. Je moet dit dus niet via de root user doen. Alles zou nu naar behoren moeten werken. Je kan nu zelf nog een beetje gaan experimenteren met login scripts.
Samba 3.0
Pagina 9 van 9