Howto - SambaPDC+WinXP+Policies

Pagina: 1
Acties:
  • 581 views sinds 30-01-2008
  • Reageer

  • Neowize1
  • Registratie: Februari 2004
  • Laatst online: 26-01 12:57
Op 15 maar heb ik een post gemaakt met volgende tekst

“Ik heb hier een Samba 3 server draaien als PDC voor windows XP clients, ik werk met een NTconfig.POL in mijn Netlogonshare. De NTconfig.POL maak ik nu aan met poledit.exe. Ik heb gehoord, dat hier voor linux ook een tooltje voor is.. Weet iemand hier meer van? En heeft er iemand nog goeie tips (of weet handige tools) om policies toe te passen of te beheren voor windows xp, met betrekking tot deze situatie? (In dit net werk draait geen ADS, dus ik kan hem niet aan de AD hangen)”

Ik heb er nog steeds geen goed antwoord op, maar kreeg wel de vraag hoe ik dit gedaan heb, en of ik goeie tutorials wist..

In plaats van alles wat ik zit te vergeten, ben ik maar eens een keer gaan documenteren, en heb ik onderstaande tekst getypt. Hierin word beschreven hoe ik mijn werkende Samba PDC en XP clients heb opgezet.. Er zijn veel verschillende manieren om zoiets te configureren, dit is dus niet “de” manier, maar “een” manier.
Ik hoop dat anderen die zoiets ook willen, hier wat aan hebben.
Als ik grote fouten gemaakt heb, meld dit dan even :)


Deze tekst is als word-document te downloaden op http://www.nolles.com/lindoc/
(staan er wat minder vreemde tekentjes tussen ;) )

Ik heb hiervoor verschillende howto’s gebruikt, maar zal het even in het kort uit proberen te leggen wat ik gedaan heb. Ik gebruik Debian Linux.
Ik ga er hier vanuit dat je de basiskennis van windows en linux al hebt, want ik heb geen zin om hier een boek te schrijven ;).
Ook neem ik aan, dat Samba 3 compilen voor je geen probleem is.. Het puzzelwerk begint bij het configureren en hier zal ik nu verder op in gaan

De volgende stappen heb ik doorlopen
1. Installeer samba
2. Maak useraccounts aan
3. Maak direcories aan waarnaar je in smb.conf gaat verwijzen
4. smb.conf configureren
5. Windows xp configureren
6. Policies

=+=+=+=+=+=+=+=+=+=+=+=+=+
2 .. maak useraccounts aan

Om een gebruiker in te kunnen laten loggen op samba, hebben de gebruiker en de computer van de gebruiker een account nodig op linux. Het account voor de computer wordt automatisch aangemaakt in de onderstaande smb.conf, dus daar hoef je verder niks mee te doen.
De gebruikersaccounts aanmaken, doe ik met webmin, maar als je dit niet hebt draaien, kan je het gewoon doen met het adduser commando met de juiste opties of met linuxconf. Laat ook een homedir aan. Als je de voorbeelden in deze tekst volgt, worden de homedirs aangemaakt in /samba/homes(zie volgend punt)
Na het aanmaken van de user op linux, moet de user ook nog worden toegevoegd aan de sambapasswordfile, dit doe je met het commando: smbpasswd –a testuser1
Waarbij testuser1, dus een willekeurige username kan zijn, die je al hebt aangemaakt bij de vorige stap. Na het invoeren van dit commando wordt er gevraagd, om een password voor de gebruiker in te voeren.
!!!BELANGRIJK ==> Maak voor de user root ook een smbpassword aan!! Dit is nodig om straks jezelf met je windows xp kist te kunnen aanmelden bij het domain.. Dus:
smbpasswd –a root
Als dit gedaan is, heb je users klaar om straks in te kunnen loggen op samba

(Het aanmaken van users kan natuurlijk ook op andere manieren.. En user aamaken in linux en in samba kan ook in 1 x.. Maar dit behandel ik niet in deze tekst. Zelf maak ik gebruik van webmin, als ik hierin een nieuwe linuxuser aanmaak, is die user ook meteen automatisch samba user (debianpaketten: webmin, webmin-samba))
=+=+=+=+=+=+=+=+=+=+=+=+=+

3 .. Maak directories aan waarnaar je in je smb.conf gaat verwijzen

Ik heb op mijn linuxkist 3 dir’s voor samba aangemaakt

1: /samba/homes
In deze dir staan de homedirectories van de users. De homedir van een user heb je al aangemaakt bij stap 2

2: [netlogon] ==> /samba/scripts
In deze dir staan de opstartscripten(wat ook via smb.conf kan, maar in deze text via een scipt geregeld is)De opstartscripten zijn *.bat bestanden. Deze scripten maak ik handmatig aan en hebben de naam van de gebruiker.. dus voor een gebruiker met de naam testuser1 is het script testuser1.bat hier aanwezig
Voorbeeld van script testuser1.bat:
------
echo Mapping Network Drives to Samba Server TestPDC...
net use z: \\testpdc\U%.bat
------
Door dit script zie je in windows onder “deze computer” de sambahomedir van de user als harddisk z:. de U% staat voor de username.. Deze wordt automatisch ingevuld.

Ook zet je in deze directory de NTConfig.POL (windows policies, hier kom ik later in deze tekst nog op terug.) en de Map “Default User”.


3: [profile] ==>/samba/profiles
In deze map wordt de eerste keer als een gebruiker inlogt, automatisch een profiel gemaakt. Als je een map “Default User” in je netlogon hebt staan, wordt de inhoud hiervan automatisch toegepast op het nieuwe profiel, en als de eerste keer uitlogt, word dit weggeschreven naar de profileshare.
Dit profiel kun je vergelijken met het profiel wat je lokaal op je computer hebt staan, namelijk in Documents and Settings.. maar het verschil met dit profiel is, dat het profiel dat je op de server in de profile share hebt staan een “roaming-profile” is.
Roaming profile wil zeggen, dat je op alle computers waarop je in dat netwerk inlogt, je eigen settings,desktop,documenten, etc hebt. Dit wordt bij het inloggen van de server opgehaald, en bij het uitloggen, worden de veranderingen naar de server geschreven.

=+=+=+=+=+=+=+=+=+=+=+=+=+

4 .. De smb.conf configureren
Voor debian gebruikers, deze kan je vinden in je /etc/samba/ dir..
De standaard conf heb ik verwijderd en deze conf heb ik daarneergezet.

---------------
[global]
null passwords = no
log file = /var/log/samba/log.%m
loglevel = 2
debug timestamp = yes
bind interfaces only = yes
max log size = 250
#interfaces = 192.168.xxx.xxx/255.255.255.0
domain master = yes
#onderstaande regel zorgt voor het
#automatisch aanmaken van machineaccounts.
add user script = /usr/sbin/useradd -g machines -c NTMachine -d /dev/null -s /bin/false -n '%m$'
locking = yes
domain logons = yes
preferred master = yes
encrypt passwords = yes
password level = 0
logon path = \\testpdc\profile\%U
serverstring = Samba on %L
#socket address = 195.83.xxx.xxx
#hosts allow = 192.168.xxx. localhost
#hosts allow = IP-address, 127.0.0.1/255.255.255.0
#mijn domainname is testnetwork
workgroup = testnetwork
smb passwd file = /etc/samba/smbpasswd
logon script = %U.bat
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
read raw = yes
write raw = yes
netbios name = testpdc
load printers = no
local master = yes
security = user
os level = 65
oplocks = True
deadtime = 1
lock directory = /tmp/samba
domain admin group = root @admins

[netlogon]
#hier staan scripts en policyfile
#Bepaalde hosts alleen toegang geven.
# allow hosts = 192.168.xxx.
max connections = 8
comment = The domain logon service
path = /samba/scripts
browseable = no

[profile]
#hier worden de windowsprofielen opgeslagen
comment = User profiles
path = /samba/profiles
create mode = 0600
directory mode = 0700
read only = no
writable = yes
browseable = no


[homes]
#homedirectory van user
comment = Home Directory of %u
path = /samba/homes/%U
writable = yes
browseable = yes

-------------------
Deze dus opslaan als smb.conf en daarna je samba een schop geven.
(in debian: /etc/init.d/samba restart )


=+=+=+=+=+=+=+=+=+=+=+=+=+

5 .. Windows XP configureren voor Samba.

Om Windows XP te kunnen laten communiceren met samba moet je eerst een registerkey veranderen. Dit kun je doen, door volgend bestand toe te passen op je winxp.
http://us1.samba.org/samb...stry/WinXP_SignOrSeal.reg

Daarna stel je als domein in testnetwork (dat is de domeinnaam die ik gebruik in mijn smb.conf) druk op ok, nu word er gepromt om username en password van de admin. Vul hier in als username: root
Password: password van je rootgebruiker
Nu is t even wachten, en als je alles goed hebt gedaan, krijg je de welkomsboodschap van het domain. Als dit niet gebeurt, kan dit o.a. de volgende redenen hebben..
- Machine account is niet goed aangemaakt in linux of samba
- Root gebruiker is niet toegevoegd met smbpasswd.
- Je hebt de bovenstaande signorseal registerypatch nog niet gerunt
Kan natuulijk door andere dingen komen.. maar dit zijn veelvoorkomende.

Als het wel gelukt is, start je de machine opnieuw op, en kan je inloggen met je samba account.


=+=+=+=+=+=+=+=+=+=+=+=+=+
6. Policies
Als je wil, dat de gebruikers die inloggen op je sambamachine speciale rechten krijgen, ander startmenu, geen items meer op desktop.. of zelfs helemaal gelokt, kan je dit doen met policies.
De policies voor alle users and groups op de samba server worden in 1 bestand opgeslagen, namelijk de NTconfig.POL Dit bestand zet je in je netlogon share. In mijn voorbeeld is dat dus /samba/script.
Dit bestand kan je aanmaken met de windows policy editor, poledit.exe dit prog zit standaard bij NT4 servers en Win2k servers.. Als je m niet hebt, kan je m ook wel op internet vinden..
http://www.google.com/sea...UTF-8&oe=UTF-8&hl=nl&lr=/
Gebruik voor winxp policies wel een van de nieuwste versies van poledit. WinXP zal je met deze policies niet helemaal kunnen locken, maar je kunt een heel eind komen.


!!WARNING!! Als lekker met policies wil gaan klooien op je eigen machine, dan is het verstandig om eerst even een herstelpunt of image te maken, omdat sommige settings wel eens willen doorslaan naar de rest van je profielen.. zou toch jammer zijn als je als administrator niet meer bij het configuratiescherm mag komen he ;)

Eindnoot:
als je heel diep wilt gaan met policies in windows xp, zal je met mmc moeten gaan werken maar samba zegt dit nog niet officieel te ondersteunen, en ik ben er zelf ook niet echt ver mee gekomen.. komt ook dichter in buurt van AD. En samba kan niet voor ADS spelen. Het is met samba 3 wel mogelijk om te verbinden met een ADS en dan policies uit de active directory te trekken, dan kom je ook dingen als LDAP tegen. Hier ben ik in deze tekst niet op in gegaan. want dat gaat dus stukje dieper denk ik. Zijn genoeg andere tutorials over te vinden.

Eindnoot2: Het voorbeeld in deze tekst, werkt ook in sambaversies >2.2.x

  • Equator
  • Registratie: April 2001
  • Laatst online: 21:20

Equator

Crew Council

#whisky #barista

ls je heel diep wilt gaan met policies in windows xp, zal je met mmc moeten gaan werken maar samba zegt dit nog niet officieel te ondersteunen, en ik ben er zelf ook niet echt ver mee gekomen.. komt ook dichter in buurt van AD
Wat heeft een Microsoft Management Console direct te maken met de locale policies.
MMC is een tool, waarin je diverse snap-ins kan zetten, zodat je er meerdere zaken mee kan regelen.

Wat jij bedoeld, is waarschijnlijk secpol.msc dat is de Local Policy Edittor voor Windows 2000 en XP clients. Datgene wat je hier in kan stellen, is inderdaad ook in te stellen in de policies van een OU (Organisational unit) in een AD.

Met een NTconfig.pol kan je overigens genoeg instellen. En om er zeker van te zijn dat je geen geke dingen doet, is het eerste wat je doet, de default user in de policy weggooien, en een nieuwe user policy aanmaken.


Verder is het fijn om te zien dat er meerdere mensen de moeite nemen om een soort van How-To te posten. Jammer dat over dit onderwerp helaas nog niet zo lang geleden al een topic was gemaakt.

  • nzyme
  • Registratie: November 2001
  • Laatst online: 28-12-2025

nzyme

terror

idd, mijn eerste gedachte was (helaas): ALWEER een SambaPDC topic???

Mare, wel errug ok natuurlijk he :P

| Hardcore - Terror |


  • Neowize1
  • Registratie: Februari 2004
  • Laatst online: 26-01 12:57
Tutorial met alles wat hier instaat, ben ik nog niet tegengekomen op internet.. als ik dit meteen eerste keer gelezen had, was het voor mij stuk makkelijker geweest.. Daarom deze tut.:9

  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Dit is interessant om te lezen _/-\o_ ik heb echter 1 vraag/opmerking...
Waarom wil je de root user gebruiken om je aan te melden op je PDC, persoonlijk
zou ik dit niet doen en je gewone gebruikersaccount gebruiken...

Pascal


  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 22:00
Uhm, omdat dat niet kan (in de versies voor 3.0 serie)? Een gewone user kan normaal onder linux geen accounts aanmaken.

[ Voor 4% gewijzigd door Jelmer op 18-03-2004 16:43 ]


Verwijderd

Policies vanuit Ad middels LDAP???

Lijkt met niet mogelijk dat je met Openldap policies uit ad kan halen.

Heb het niet eens geprobeerd.

Maar ben nog steeds bezig om Kerberos in Ldap te intergreren. Dan is het ook mogelijk om geen pdc maar samba net als voor AD te configureren.
Dat werkt een stuk prettiger.

  • Neowize1
  • Registratie: Februari 2004
  • Laatst online: 26-01 12:57
Bedoel je dat samba dan min of meer als active directoryserver fungeert?

Verwijderd

Is het niet een idee om alle B) Howto's ergens te verzamelen ?

Verwijderd

Bedankt. Altijd handig, hoewel ik zelf al een pdc heb, kan ik andere mensen er wel op wijzen.

[ Voor 61% gewijzigd door Verwijderd op 20-03-2004 16:50 ]


Verwijderd

Ehh, wat wij dus hier niet voor mekaar krijgen op samba 3.0.x is dat add user script, ik heb em zojuist letterlijk gekopieerd uit jou smb.conf ( TS! ) ook de regedit blabla toegepast, maar ik krijg hem op dat moment niet in het domein simpelweg omdat hij het werktstation niet aanmaakt als user in samba of in linux. Doe ik dit handmatig -> geen problemen.

Enig id ?

  • Neowize1
  • Registratie: Februari 2004
  • Laatst online: 26-01 12:57
Ik moet eerlijk zeggen, dat ik de machine accounts ook handmatig heb aangemaakt :P
Ik had deze uit en andere smb.conf gekopierd.. maar nog neit getest.. had wel verwacht dat ie zou werken.. Ik zal er binnenkort weer eens mee bezig gaan

Verwijderd

Na nog eens veel zoeken is het antwoord:

add user script komt niet meer voor in samba 3.0

nu wordt gebruik gemaakt van add machine script

De rest van de regel blijft hetzelfde.

Verwijderd

Verwijderd schreef op 19 maart 2004 @ 12:08:
Policies vanuit Ad middels LDAP???

Lijkt met niet mogelijk dat je met Openldap policies uit ad kan halen.

Heb het niet eens geprobeerd.

Maar ben nog steeds bezig om Kerberos in Ldap te intergreren. Dan is het ook mogelijk om geen pdc maar samba net als voor AD te configureren.
Dat werkt een stuk prettiger.
dan krijg je dus een soort active dir die je zowel onder windows als onder linux clients kan gebruiken? of begrijp ik dit verkeerd?

Verwijderd

Even wat aanvullingen die misschien wel leuk zijn voor de HOWTO:
Unix groepen mappen naar windows groepen:

groupadd admins
groupadd everyone
net groupmap add ntgroup="Domain Admins" unixgroup=admins
net groupmap add ntgroup="Domain Users" unixgroup=everyone
net groupmap modify ntgroup="Domain Guests" unixgroup=nobody
Ter controle:
net groupmap list

smb.conf:
code:
1
2
3
4
5
6
7
8
        add user script = /usr/sbin/useradd -m "%u" -c "Samba Useraccount" -g everyone
        add group script = /usr/sbin/groupadd "%g"
        add user to group script = /usr/sbin/usermod -G "%g" "%u"
        add machine script = /usr/sbin/useradd -n -g machines -c "Samba Machineaccount" -d /dev/null -s /bin/false -n '%m$'
        delete user from group script = /usr/bin/gpasswd -d "%u" "%g"
        set primary group script = /usr/sbin/usermod -g "%g" "%u"
        delete user script = /usr/sbin/userdel -r %u
        delete group script = /usr/sbin/groupdel "%g"

Je kunt nu heel gemakkelijk met "Usermanager for Domains for NT4" (hier te downloaden) gebruikers, groepen en machines toevoegen (met "Servermanager for NT4") en wijzigen.
Een klein 'bugje': bij een toevoeging of wijziging moet je even met F5 verversen om de veranderingen te kunnen zien.
Bovenstaande commando's zijn trouwens RedHat specifiek. Eventueel aanpassen voor je eigen distro.

edit:

Bij mij crashde de nieuwe versie van usrmgr.exe. Link aangepast naar de 'oude' versie.

[ Voor 28% gewijzigd door Verwijderd op 24-03-2004 12:46 ]


  • Arjan A
  • Registratie: November 2000
  • Laatst online: 16:07

Arjan A

Cenosillicafoob

Verwijderd schreef op 24 maart 2004 @ 11:39:
Even wat aanvullingen die misschien wel leuk zijn voor de HOWTO:
Unix groepen mappen naar windows groepen:
smb.conf:
code:
1
2
3
4
5
6
7
8
        add user script = /usr/sbin/useradd -m "%u" -c "Samba Useraccount" -g everyone
        add group script = /usr/sbin/groupadd "%g"
        add user to group script = /usr/sbin/usermod -G "%g" "%u"
        add machine script = /usr/sbin/useradd -n -g machines -c "Samba Machineaccount" -d /dev/null -s /bin/false -n '%m$'
        delete user from group script = /usr/bin/gpasswd -d "%u" "%g"
        set primary group script = /usr/sbin/usermod -g "%g" "%u"
        delete user script = /usr/sbin/userdel -r %u
        delete group script = /usr/sbin/groupdel "%g"
Klein aanvullinkje hierop: Als je het adduser-syuk gebruikt, zorg ervoor dat dan de profile-driectory ook wordt aangemaakt, als je die gebruikt).

[ Voor 34% gewijzigd door Arjan A op 24-03-2004 11:45 ]

Canon EOS | DJI M2P
Fotoblog · Mijn werk aan jouw muur


Verwijderd

Verwijderd schreef op 24 maart 2004 @ 11:39:

groupadd admins
groupadd everyone
net groupmap add ntgroup="Domain Admins" unixgroup=admins
net groupmap add ntgroup="Domain Users" unixgroup=everyone
net groupmap modify ntgroup="Domain Guests" unixgroup=nobody
Ter controle:
net groupmap list

[/edit]
Dit gedeelte lukt ons nu wel ( wij kampen met hetzelfde probleem ) het engiste waar wij hier tegenaan hikken is dat we de groep die we aanmaken op de samba server geen adminrechten kunnen geven op de XP client. Dit kan wel per user apart, maar het is natuurlijk handiger omdat per groep te doen.. als je een hele zut aan users hebt ^^

Verwijderd

Verwijderd schreef op 24 maart 2004 @ 15:10:
[...]

Dit gedeelte lukt ons nu wel ( wij kampen met hetzelfde probleem ) het engiste waar wij hier tegenaan hikken is dat we de groep die we aanmaken op de samba server geen adminrechten kunnen geven op de XP client. Dit kan wel per user apart, maar het is natuurlijk handiger omdat per groep te doen.. als je een hele zut aan users hebt ^^
Als local administrator inloggen op de xp bak (dus niet op het domein), daarna kun je gewoon domein groepen toevoegen op die machine.

Verwijderd

Het toevoegen lukt ook wel. We hebben nu alleen maar beperkte rechten. We kunnen nu bijvoorbeeld de klok aanpassen en de tcp/ip instellingen.

Maar andere opties zoals het installeren van software kan nu nog niet als een user is ingelogd.

We hebben nu de groep Domain Users toegevoegd aan de groep Administrators, dit heeft ook wel effect als we inloggen met een user op het domein, allee het heeft niet genoeg effect.

Iemand hier misschien de oplossing voor?

  • Berik
  • Registratie: Oktober 2002
  • Laatst online: 05-12-2023
Neowize, nette howto!

Ik ga denk ik maak weer eens m'n smb.conf onder handen nemen, om er een pdc van te maken :P heeft mijn netwerkje weer een iets hoger past-gehalte :9~

Verwijderd

Allereerst wil ik mijn complimenten geven voor de howto. Gewoon eens een keer netjes beschreven wat er stap voor stap gedaan moet worden. Voor iemand die niet al te veel verstand van Linux heeft (zoals ik) heel handig.

Maar natuurlijk moet er bij de installatie wel weer wat tegenzitten. Anders zou het allemaal ook wel heel erg makkelijk worden.

Ik moest eerst al even zoeken naar hoe ik handmatig accounts voor de machines aan kon maken, maar dit heb ik uiteindelijk voor elkaar gekregen met de volgende code:

<code>
[machine]# groupadd machines
[machine]# /usr/sbin/useradd -g samba-clients -d /dev/null -s /bin/false machine_name$
[machine]# passwd -l machine_name$
[machine]# smbpasswd -a -m machine_name
</code>

Daarna was het mogelijk me aan te melden met de XP machine op het domein. Na het opnieuw opstarten van XP bak (om de veranderingen van kracht te laten worden) geeft windows echter aan dat de Domeinserver niet meer bereikbaar is.

Maak ik de accounts verkeerd aan of gaat er bij mij iets anders fout?

Ik ben bezig om een servertje op te zetten voor het bedrijfje van een vriend van me. Ik had liever Windows 2003 Server gepakt maar hij wilde het risico van een illegale installatie niet lopen (waar natuurlijk heel wat voor te zeggen valt). Vandaar dat ik me op Linux heb moeten storten en nu vastloop. Als er meer informatie nodig is dan moeten jullie maar even een gil geven.

  • Reveal!
  • Registratie: November 1999
  • Laatst online: 01-02 21:07
Ik weet dat dit een oud topic is, maar het gaat wel precies over waar ik mee bezig ben dus is het beter om er hier op verder te gaan.

Het schijnt dat je zelf je .adm policy templates kan aanmaken als je de bestaande mogelijkheden van poledit wil uitbreiden.
Je kan dan uiteindelijk evenveel instellen als met secpol of mmc.
Nu wil ik eigenlijk maar gedeeltelijk roaming profiles gebruiken, alleen lokaal de temporary folders etc, maar bureablad en application folders etc op een netwerkdrive.
Nu weet ik alleen niet hoe ik custom .adm policy templates moet aanmaken, als je naar onderstaand voorbeeld kijkt

code:
1
2
3
4
5
6
7
8
9
10
11
12
    POLICY "Auto Update Options"
    PART "Auto Update Options"                          DROPDOWNLIST
        VALUENAME AUOptions
        NOSORT
        REQUIRED
        ITEMLIST
            NAME "Notify for download and notify for install"       VALUE NUMERIC 2
            NAME "Auto download and notify for install"         VALUE NUMERIC 3
            NAME "Auto download and schedule the install"           VALUE NUMERIC 4
        END ITEMLIST
    END PART
    END POLICY


Waar haal je de value's en valuenames bv. vandaan ?
Ik hoop dat iemand me verder kan helpen want met de bestaande policy schema's kom ik niet ver genoeg...
Pagina: 1