Difference between revisions of "Linux AD intergration"
(rettede <br/> til sådan at det virkede) |
m |
||
(7 intermediate revisions by one other user not shown) | |||
Line 3: | Line 3: | ||
Dette gjort så man kan kende forskel på kommentarer og kommandoer.<br/> | Dette gjort så man kan kende forskel på kommentarer og kommandoer.<br/> | ||
<pre>Alt tekst som jeg har sat ind i konfigurations filer ser sådan her ud</pre> | <pre>Alt tekst som jeg har sat ind i konfigurations filer ser sådan her ud</pre> | ||
− | For det meste er der anden konfiguration i filerne, så led dem igennem for at finde de rigtige steder. Særligt smb.conf er slem, men her kan man bruge '''testparm''' kommandoen til at få vist konfigurationen uden kommentarer. | + | For det meste er der anden konfiguration i filerne, så led dem igennem for at finde de rigtige steder. Særligt smb.conf er slem, men her kan man bruge '''testparm''' kommandoen til at få vist konfigurationen uden kommentarer.<br/> |
'''vi /etc/hostname<br/>''' | '''vi /etc/hostname<br/>''' | ||
− | Her retter jeg hostname til på maskinen, hvad end der bliver skrevet i denne fil bliver til hostname. Dog skal der genstartes før ændringerne tager effekt, dette gøres med '''shutdown -r now''' | + | Her retter jeg hostname til på maskinen, hvad end der bliver skrevet i denne fil bliver til hostname. Dog skal der genstartes før ændringerne tager effekt, dette gøres med '''shutdown -r now'''<br/> |
<pre>SRFSamba</pre> | <pre>SRFSamba</pre> | ||
'''vi /etc/resolv.conf<br/>''' | '''vi /etc/resolv.conf<br/>''' | ||
− | Her retter jeg til hvilke DNS server vi skal spørge, da vi bruger pr. default bruger DHCP til at sætte IP med, så skal vi huske at skifte væk fra det. Ellers så ændre DHCP klienten denne fil hver gang den fornyer lease. | + | Her retter jeg til hvilke DNS server vi skal spørge, da vi bruger pr. default bruger DHCP til at sætte IP med, så skal vi huske at skifte væk fra det. Ellers så ændre DHCP klienten denne fil hver gang den fornyer lease.<br/> |
+ | <pre>nameserver 172.16.4.130 | ||
− | |||
domain itdervirker.dk | domain itdervirker.dk | ||
search itdervirker.dk</pre> | search itdervirker.dk</pre> | ||
− | |||
'''vi /etc/hosts<br/>''' | '''vi /etc/hosts<br/>''' | ||
− | Vi skal også rette vores hosts fil til, ellers så brokker den sig over at vi ikke kan slå os selv op, når vi prøver at melde os ind i domænet. Man kunne også blot oprette vores server i DNS. | + | Vi skal også rette vores hosts fil til, ellers så brokker den sig over at vi ikke kan slå os selv op, når vi prøver at melde os ind i domænet. Man kunne også blot oprette vores server i DNS.<br/> |
<pre>127.0.0.1 localhost | <pre>127.0.0.1 localhost | ||
127.0.1.1 SRFSamba.itdervirker.dk</pre> | 127.0.1.1 SRFSamba.itdervirker.dk</pre> | ||
− | |||
'''vi /etc/network/interfaces<br/>''' | '''vi /etc/network/interfaces<br/>''' | ||
− | Her skifter vi væk fra DHCP, som vi bliver nød til hvis vi vil beholde vores resolv.conf. | + | Her skifter vi væk fra DHCP, som vi bliver nød til hvis vi vil beholde vores resolv.conf.<br/> |
<pre># The primary network interface | <pre># The primary network interface | ||
Line 35: | Line 33: | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
gateway 172.16.4.19</pre> | gateway 172.16.4.19</pre> | ||
− | |||
'''/etc/init.d/networking restart<br/>''' | '''/etc/init.d/networking restart<br/>''' | ||
− | Genstart netværks servicen for at ændringerne tager effekt. | + | Genstart netværks servicen for at ændringerne tager effekt.<br/> |
'''apt-get install samba<br/>''' | '''apt-get install samba<br/>''' | ||
− | Installer Samba som vi skal bruge til at melde os ind i domænet. | + | Installer Samba som vi skal bruge til at melde os ind i domænet.<br/> |
'''vi /etc/samba/smb.conf<br/>''' | '''vi /etc/samba/smb.conf<br/>''' | ||
− | Her er de indstillinger der skal til for at melde os ind, det letteste er at slå disse options op i man smb.conf. | + | Her er de indstillinger der skal til for at melde os ind, det letteste er at slå disse options op i man smb.conf.<br/> |
<pre>workgroup = ITDERVIRKER | <pre>workgroup = ITDERVIRKER | ||
Line 55: | Line 52: | ||
winbind enum users = Yes | winbind enum users = Yes | ||
winbind enum groups = Yes</pre> | winbind enum groups = Yes</pre> | ||
− | |||
'''vi /etc/nsswitch.conf<br/>''' | '''vi /etc/nsswitch.conf<br/>''' | ||
− | Så skal vi have rettet til, sådan at Ubuntu bruger winbind til at slå brugere op med. Denne opsætning betyder dog at den først slår op lokalt og derefter så bruger den winbind, dette er gjort sådan at vi ikke kan lukke os selv ude. | + | Så skal vi have rettet til, sådan at Ubuntu bruger winbind til at slå brugere op med. Denne opsætning betyder dog at den først slår op lokalt og derefter så bruger den winbind, dette er gjort sådan at vi ikke kan lukke os selv ude.<br/> |
<pre>passwd: compat winbind | <pre>passwd: compat winbind | ||
group: compat winbind | group: compat winbind | ||
shadow: compat</pre> | shadow: compat</pre> | ||
− | |||
'''apt-get install winbind<br/>''' | '''apt-get install winbind<br/>''' | ||
− | Installer winbind | + | Installer winbind<br/> |
'''apt-get install krb5-kdc<br/>''' | '''apt-get install krb5-kdc<br/>''' | ||
− | Installer keberus | + | Installer keberus, her blev jeg bedt om at skrive domæne navn efter installationen, jeg trykkede bare enter uden at skrive noget.<br/> |
'''service smbd stop<br/>''' | '''service smbd stop<br/>''' | ||
− | Vi bliver nød til at stoppe Samba før vi kan melde os ind i domænet. | + | Vi bliver nød til at stoppe Samba før vi kan melde os ind i domænet.<br/> |
'''apt-get install ntp<br/>''' | '''apt-get install ntp<br/>''' | ||
− | Kerberus kræver at tiden på vores DC og vores klient er indstillet inden for 5min af hinanden, så derfor så bliver vi NTP til at synkronisere. | + | Kerberus kræver at tiden på vores DC og vores klient er indstillet inden for 5min af hinanden, så derfor så bliver vi NTP til at synkronisere.<br/> |
'''vi /etc/ntp.conf<br/>''' | '''vi /etc/ntp.conf<br/>''' | ||
− | Her benytter jeg mars.tekkom.dk til at sætte tiden, hvilken server der bliver brugt betyder ikke så meget, så længe vi bruger den samme på alle maskiner. | + | Her benytter jeg mars.tekkom.dk til at sætte tiden, hvilken server der bliver brugt betyder ikke så meget, så længe vi bruger den samme på alle maskiner.<br/> |
<pre># You do need to talk to an NTP server or two (or three). | <pre># You do need to talk to an NTP server or two (or three). | ||
server mars.tekkom.dk</pre> | server mars.tekkom.dk</pre> | ||
− | |||
'''service ntp restart<br/>''' | '''service ntp restart<br/>''' | ||
− | Genstart NTP for at ændringerne tager effekt. | + | Genstart NTP for at ændringerne tager effekt.<br/> |
'''service winbind stop<br/>''' | '''service winbind stop<br/>''' | ||
− | Husk også at stoppe winbind før vi melder os ind i domænet. | + | Husk også at stoppe winbind før vi melder os ind i domænet.<br/> |
'''kinit administrator@ITDERVIRKER.DK<br/>''' | '''kinit administrator@ITDERVIRKER.DK<br/>''' | ||
− | Her henter vi vores Kerberus token, den skal vi bruge for at kunne melde os ind. Husk at skrive domænet med stort ellers så virker det ikke. | + | Her henter vi vores Kerberus token, den skal vi bruge for at kunne melde os ind. Husk at skrive domænet med stort ellers så virker det ikke.<br/> |
'''net ads join -S SRFDC.itdervirker.dk -U administrator<br/>''' | '''net ads join -S SRFDC.itdervirker.dk -U administrator<br/>''' | ||
− | Så melder vi os endeligt ind i domænet | + | Så melder vi os endeligt ind i domænet<br/> |
'''service smbd start<br/>''' | '''service smbd start<br/>''' | ||
'''service winbind start<br/>''' | '''service winbind start<br/>''' | ||
− | Start smbd og winbind igen. | + | Start smbd og winbind igen.<br/> |
'''wbinfo -u<br/>''' | '''wbinfo -u<br/>''' | ||
'''wbinfo -g<br/>''' | '''wbinfo -g<br/>''' | ||
Her tester vi om det virker og hvis det virker så skulle vi se noget i den her stil:<br/> | Her tester vi om det virker og hvis det virker så skulle vi se noget i den her stil:<br/> | ||
− | wbinfo -u | + | wbinfo -u<br/> |
<pre>SRFSAMBA\sfa | <pre>SRFSAMBA\sfa | ||
SRFSAMBA\user2 | SRFSAMBA\user2 | ||
Line 104: | Line 98: | ||
ITDERVIRKER\badass | ITDERVIRKER\badass | ||
</pre> | </pre> | ||
− | Eller hvis vi bruger wbinfo -g | + | Eller hvis vi bruger wbinfo -g<br/> |
<pre>ITDERVIRKER\domain computers | <pre>ITDERVIRKER\domain computers | ||
ITDERVIRKER\domain controllers | ITDERVIRKER\domain controllers | ||
Line 122: | Line 116: | ||
ITDERVIRKER\dnsupdateproxy | ITDERVIRKER\dnsupdateproxy | ||
</pre> | </pre> | ||
+ | |||
+ | Her er et eksempel på et login med en AD bruger<br/> | ||
+ | [[File:SambaADLogin.png ]] | ||
+ | |||
+ | Hvis der automatisk skal oprettes et home directory, til den bruger som logger ind, så skal følgende gøres:<br/> | ||
+ | '''''FOR GUDS SKYLD TAG EN BACKUP ELLER SNAPSHOT FØR DU PILLER VED pam.d! NU ER DU ADVARET!''''' | ||
+ | |||
+ | '''vi /etc/pam.d/sshd''' | ||
+ | <pre># Auto create /home/ folder for AD user logging in | ||
+ | session required pam_mkhomedir.so skel=/etc/skel/ umaske=0022</pre> | ||
+ | |||
+ | '''vi /etc/samba/smb.conf<br/>''' | ||
+ | %D er domæne navn og %U er username | ||
+ | <pre>template homedir = /home/%D/%U</pre> | ||
+ | |||
+ | Nu vil vi gerne have login begrænset på AD grupper og samtidigt give en gruppe adgang til at bruge sudo.<br/> | ||
+ | Først skal vi ind i pam og have det rettet til, sådan at vi kan bruge access.conf | ||
+ | |||
+ | '''vi /etc/pam.d/sshd''' | ||
+ | <pre> | ||
+ | # Uncomment and edit /etc/security/access.conf if you need to set complex | ||
+ | # access limits that are hard to express in sshd_config. | ||
+ | account required pam_access.so</pre> | ||
+ | |||
+ | '''vi /etc/security/access.conf''' | ||
+ | Så er det tid til at rette access.conf til, du kan enten bruge min til reference eller læse de eksempler der står igennem. Vær dog opmærksom på at vi ikke gør forskel på brugere og gruppe, så der kan komme nogle problemer, hvis jeg nogensinde opretter en bruger ved navn linux.<br/> | ||
+ | <pre>+ : root : ALL | ||
+ | + : ITDERVIRKER\linux : ALL | ||
+ | + : ITDERVIRKER\linux-admin : ALL | ||
+ | - : ALL : ALL</pre> | ||
+ | |||
+ | '''visudo''' | ||
+ | Tilføj gruppen til sudoers filen, husk at bruge en ekstra \ som escape char for \<br/> | ||
+ | <pre>%ITDERVIRKER\\linux-admin ALL=(ALL) ALL</pre> | ||
+ | |||
+ | '''''Known Issues''''' | ||
+ | *Hvis forbindelsen til ADet pludseligt bliver smidt, så kan det være DHCP som har overskrevet resolv.conf, dette kan ske også selvom man har bedt maskinen om at bruge statisk IP.<br/> | ||
+ | *Man må ikke navngive ens samba server, det samme som man har navngivet domænet.<br/> | ||
+ | [[Category:Linux]][[Category:Windows]] |
Latest revision as of 03:55, 23 December 2011
Denne side indeholder alle de kommandoer, der skal bruges til at melde en Ubuntu maskine ind i et AD og jeg har bruge en Ubuntu 10.04 server til opsætningen.
Alt fed tekst repræsentere kommandoer som jeg har tastet ind.
Dette gjort så man kan kende forskel på kommentarer og kommandoer.
Alt tekst som jeg har sat ind i konfigurations filer ser sådan her ud
For det meste er der anden konfiguration i filerne, så led dem igennem for at finde de rigtige steder. Særligt smb.conf er slem, men her kan man bruge testparm kommandoen til at få vist konfigurationen uden kommentarer.
vi /etc/hostname
Her retter jeg hostname til på maskinen, hvad end der bliver skrevet i denne fil bliver til hostname. Dog skal der genstartes før ændringerne tager effekt, dette gøres med shutdown -r now
SRFSamba
vi /etc/resolv.conf
Her retter jeg til hvilke DNS server vi skal spørge, da vi bruger pr. default bruger DHCP til at sætte IP med, så skal vi huske at skifte væk fra det. Ellers så ændre DHCP klienten denne fil hver gang den fornyer lease.
nameserver 172.16.4.130 domain itdervirker.dk search itdervirker.dk
vi /etc/hosts
Vi skal også rette vores hosts fil til, ellers så brokker den sig over at vi ikke kan slå os selv op, når vi prøver at melde os ind i domænet. Man kunne også blot oprette vores server i DNS.
127.0.0.1 localhost 127.0.1.1 SRFSamba.itdervirker.dk
vi /etc/network/interfaces
Her skifter vi væk fra DHCP, som vi bliver nød til hvis vi vil beholde vores resolv.conf.
# The primary network interface auto eth0 iface eth0 inet static address 172.16.4.147 netmask 255.255.255.0 gateway 172.16.4.19
/etc/init.d/networking restart
Genstart netværks servicen for at ændringerne tager effekt.
apt-get install samba
Installer Samba som vi skal bruge til at melde os ind i domænet.
vi /etc/samba/smb.conf
Her er de indstillinger der skal til for at melde os ind, det letteste er at slå disse options op i man smb.conf.
workgroup = ITDERVIRKER realm = ITDERVIRKER.DK security = ADS os level = 0 local master = No domain master = No idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash winbind enum users = Yes winbind enum groups = Yes
vi /etc/nsswitch.conf
Så skal vi have rettet til, sådan at Ubuntu bruger winbind til at slå brugere op med. Denne opsætning betyder dog at den først slår op lokalt og derefter så bruger den winbind, dette er gjort sådan at vi ikke kan lukke os selv ude.
passwd: compat winbind group: compat winbind shadow: compat
apt-get install winbind
Installer winbind
apt-get install krb5-kdc
Installer keberus, her blev jeg bedt om at skrive domæne navn efter installationen, jeg trykkede bare enter uden at skrive noget.
service smbd stop
Vi bliver nød til at stoppe Samba før vi kan melde os ind i domænet.
apt-get install ntp
Kerberus kræver at tiden på vores DC og vores klient er indstillet inden for 5min af hinanden, så derfor så bliver vi NTP til at synkronisere.
vi /etc/ntp.conf
Her benytter jeg mars.tekkom.dk til at sætte tiden, hvilken server der bliver brugt betyder ikke så meget, så længe vi bruger den samme på alle maskiner.
# You do need to talk to an NTP server or two (or three). server mars.tekkom.dk
service ntp restart
Genstart NTP for at ændringerne tager effekt.
service winbind stop
Husk også at stoppe winbind før vi melder os ind i domænet.
kinit administrator@ITDERVIRKER.DK
Her henter vi vores Kerberus token, den skal vi bruge for at kunne melde os ind. Husk at skrive domænet med stort ellers så virker det ikke.
net ads join -S SRFDC.itdervirker.dk -U administrator
Så melder vi os endeligt ind i domænet
service smbd start
service winbind start
Start smbd og winbind igen.
wbinfo -u
wbinfo -g
Her tester vi om det virker og hvis det virker så skulle vi se noget i den her stil:
wbinfo -u
SRFSAMBA\sfa SRFSAMBA\user2 SRFSAMBA\user1 SRFSAMBA\user3 ITDERVIRKER\administrator ITDERVIRKER\guest ITDERVIRKER\krbtgt ITDERVIRKER\badass
Eller hvis vi bruger wbinfo -g
ITDERVIRKER\domain computers ITDERVIRKER\domain controllers ITDERVIRKER\schema admins ITDERVIRKER\enterprise admins ITDERVIRKER\cert publishers ITDERVIRKER\domain admins ITDERVIRKER\domain users ITDERVIRKER\domain guests ITDERVIRKER\group policy creator owners ITDERVIRKER\ras and ias servers ITDERVIRKER\allowed rodc password replication group ITDERVIRKER\denied rodc password replication group ITDERVIRKER\read-only domain controllers ITDERVIRKER\enterprise read-only domain controllers ITDERVIRKER\dnsadmins ITDERVIRKER\dnsupdateproxy
Her er et eksempel på et login med en AD bruger
Hvis der automatisk skal oprettes et home directory, til den bruger som logger ind, så skal følgende gøres:
FOR GUDS SKYLD TAG EN BACKUP ELLER SNAPSHOT FØR DU PILLER VED pam.d! NU ER DU ADVARET!
vi /etc/pam.d/sshd
# Auto create /home/ folder for AD user logging in session required pam_mkhomedir.so skel=/etc/skel/ umaske=0022
vi /etc/samba/smb.conf
%D er domæne navn og %U er username
template homedir = /home/%D/%U
Nu vil vi gerne have login begrænset på AD grupper og samtidigt give en gruppe adgang til at bruge sudo.
Først skal vi ind i pam og have det rettet til, sådan at vi kan bruge access.conf
vi /etc/pam.d/sshd
# Uncomment and edit /etc/security/access.conf if you need to set complex # access limits that are hard to express in sshd_config. account required pam_access.so
vi /etc/security/access.conf
Så er det tid til at rette access.conf til, du kan enten bruge min til reference eller læse de eksempler der står igennem. Vær dog opmærksom på at vi ikke gør forskel på brugere og gruppe, så der kan komme nogle problemer, hvis jeg nogensinde opretter en bruger ved navn linux.
+ : root : ALL + : ITDERVIRKER\linux : ALL + : ITDERVIRKER\linux-admin : ALL - : ALL : ALL
visudo
Tilføj gruppen til sudoers filen, husk at bruge en ekstra \ som escape char for \
%ITDERVIRKER\\linux-admin ALL=(ALL) ALL
Known Issues
- Hvis forbindelsen til ADet pludseligt bliver smidt, så kan det være DHCP som har overskrevet resolv.conf, dette kan ske også selvom man har bedt maskinen om at bruge statisk IP.
- Man må ikke navngive ens samba server, det samme som man har navngivet domænet.