Difference between revisions of "Linux AD intergration"

From Teknologisk videncenter
Jump to: navigation, search
(mere <br/> fordi det manglede)
m
 
(6 intermediate revisions by one other user not shown)
Line 13: Line 13:
 
'''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.<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.<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/>'''
Line 24: Line 23:
 
<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/>'''
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/>'''
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/>'''
Line 63: Line 59:
 
group:          compat winbind
 
group:          compat winbind
 
shadow:        compat</pre>
 
shadow:        compat</pre>
 
  
 
'''apt-get install winbind<br/>'''
 
'''apt-get install winbind<br/>'''
 
Installer winbind<br/>
 
Installer winbind<br/>
 
'''apt-get install krb5-kdc<br/>'''
 
'''apt-get install krb5-kdc<br/>'''
Installer keberus<br/>
+
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.<br/>
 
Vi bliver nød til at stoppe Samba før vi kan melde os ind i domænet.<br/>
Line 78: Line 73:
 
<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/>'''
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
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.