Difference between revisions of "Linux AD intergration"

From Teknologisk videncenter
Jump to: navigation, search
(Created page with "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.<br/> '''Alt fed tek...")
 
m
 
(9 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
  
<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:
+
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 04: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
SambaADLogin.png

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.