Linux AD intergration
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.