Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Linux i Windows - integracja AD z usługami linuxa

Wpis ma na celu pokazanie jak można zintegrowac Active Directory z serwerem plików SAMBA oraz dostępu przez SSH do serwera linuxowego.

Zaleta tego jest iz mamy centralny katalog uzyszkodnikow. W moim przypadku mam 3 serwery samby, kilka maszyn z dostepem przez ssh, wiec zarzadzanie uzytszkodnikami, ich haslami mam na jednej maszynie windowsowej. Oczywiscie komputery w firmie mam podpiete do serwera AD wiec jest tylko jednokrotne podanie hasla przy logowaniu.

Sposob autoryzacji oparty o AD wykorzystuje tez przy autoryzacji w apache2 -> bylo to opisywane juz na blogu.

Nie będę opisywał instalacji AD a jedynie to co jest w linuxie.

tak wyglada ad (mniej wiecej :)):

Założenia:

nazwa domeny. FIRMA.Z
nazwa servera: DC.FIRMA.Z
nazwa netbios: FIRMA
ip dc: 192.168.2.204
system DC: windows 2008r2 std
userzy: administrator, grzenio

nazwa servera linux: SAMBA.FIRMA.Z
ip linuxa: 192.168.2.251
system linux: Debian 6

na poczatek aktualizacja system i instalacja potrzebnych i nie potrzebnych pakietow

apt-get update apt-get upgrade apt-get install krb5-config krb5-user krb5-doc winbind samba rdate smbldap-tools ldb-tools mc vim-nox

dorabiamy sobie wpisy w /etc/hosts

vim /etc/hosts

zawartosc:

192.168.2.251 samba.FIRMA.Z samba

teraz musimy ustawic kerberosa

vim /etc/krb5.conf

zmiany ktore musimy dokonac lub dopisac, reszty nie ruszamy. edytujemy 3 sekcje: libdefaults, realms i domain_realm

[libdefaults] default_realm = FIRMA.Z krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true dns_lookup_realm = false dns_lookup_kdc = false clock_skew = 300 ticket_lifetime = 24h

...

[realms] FIRMA.Z = { kdc = DC.FIRMA.Z admin_server = DC.FIRMA.Z default_domain = FIRMA.Z }

...

[domain_realm] .kerberos.server = FIRMA.Z .FIRMA.Z = FIRMA.Z

Testujemy:

kinit administrator@FIRMA.Z

zostaniemy poproszeni o haslo. podanie zlego hasla wywali error, podanie hasla prawidlowego nic nie pokaze.

modyfikujemy odpowiednio ponizej pliki

# /etc/nsswitch.conf passwd: compat winbind group: compat winbind shadow: compat winbind

...

#samba/smb.conf [global] workgroup = FIRMA realm = FIRMA.Z #domena load printers = no preferred master = no local master = no server string = fileserver password server = 192.168.2.204 #ip dc encrypt passwords = yes security = ADS netbios name = SAMBA client signing = Yes dns proxy = No wins server = 192.168.2.204 #ip dc idmap uid = 600-20000 idmap gid = 600-20000 winbind separator = + winbind enum users = Yes winbind enum groups = Yes winbind use default domain = Yes template shell = /bin/bash [homes] comment = Home Direcotries valid users = %S read only = No browseable = No

dodajemy Linuxa do domeny

net ads join -U Administrator

zostaniemy poproszeni o haslo administratora

zakładamy foldery domowe, sama nie umie sama tego zrobic, bedzie to potrafil robic sshd

cd /home mkdir FIRMA/ mkdir FIRMA/administrator/ mkdir FIRMA/grzenio/

nadajemy odpowiednie prawa

chown administrator administrator chown grzenio grzenio

restartujemy co trzeba:

/etc/init.d/samba restart /etc/init.d/winbind restart

no i to wszystko jezeli chodzi o sambe. czas na ssh

wynik taki:

grzenio@samba:~$ pwd /home/FIRMA/grzenio grzenio@samba:~$ ls -al total 20 drwxrwxrwx 4 grzenio root 4096 Jun 30 17:00 . drwxr-xr-x 4 root root 4096 Jun 30 13:11 .. -rw------- 1 grzenio domain users 101 Jun 30 17:00 .bash_history drwxr-xr-x 2 grzenio domain users 4096 Jun 30 13:41 New folder drwxr-xr-x 2 grzenio domain users 4096 Jun 30 13:49 test grzenio@samba:~$

tutaj tak naprawde tyko podam jakie wpisy dodac trzeba do jakich plikow po tym tylko restart sshd wystarczy:)

# /etc/pam.d/common-account account sufficient pam_winbind.so account required pam_unix.so # /etc/pam.d/common-auth auth sufficient pam_winbind.so auth required pam_unix.so nullok_secure use_first_pass # /etc/pam.d/common-password password required pam_unix.so nullok obscure min=4 max=50 md5 # /etc/pam.d/common-session session required pam_mkhomedir.so umask=0022 skel=/etc/skel apt-get install sudo # /etc/sudoers %UnixAdmins ALL=(ALL) ALL 

Komentarze

0 nowych
webnull   9 #1 01.07.2011 10:49

Dobrze wiedzieć jak pogodzić usługi Windowsa z usługami Linuksa :-)

Przyda się na pewno, dzięki.

ttomas   10 #2 01.07.2011 11:17

Używałem tego w firmie na AD2003 do ustalania reguł w squidzie oddzielnie dla każdego usera, niestety AD 2008 nie udało mi się zmusić, komuś się udało?

PS. Przydatne, mało na sieci podobnych tutków

997   5 #3 01.07.2011 11:19

I to jest dobry artykuł. Robiłem raz to testowo we FreeBSD ale o ile pamiętam moja droga była zdecydowanie krótsza (może dlatego, że testowo) i działało. Nie wiem jak było z bezpieczeństwem bo w sumie raz się podłączyłem, żeby sprawdzić czy jest ok a potem poszło na śmietnik.

Tak czy inaczej fajny tutek, i uniwersalny bo wystarczy tylko zmienić niektóre komendy. Samba i ssh chyba wszędzie tak samo jest konfigurowana.

RubasznyRumcajs   6 #4 01.07.2011 11:38

dzieki, wczesniej czy pozniej sie przyda ow tutorial :)
przydaloby sie cos z eDirectory dla odmiany :>

djgrzenio   8 #5 01.07.2011 11:43

ze squidem pewnie tez bede walczyl bo mam to w firmie, natomiast teraz mam na tapecie autoryzacja basic ale do AOLServera

djgrzenio   8 #6 01.07.2011 11:44

997 to tez jest srodowisko testowe. sam nie wiem kiedy bede to realizowal produkcyjnie.

djgrzenio   8 #7 01.07.2011 11:45

chce jeszcze do tego dorobic wspolprace z qmail-vpopmail

  #8 01.07.2011 13:31

Niestety, Linux jest w tej kwestii kilkanaście lat za konkurencją i ten dystans ciągle się zwiększa.

jmmzon   8 #9 01.07.2011 14:22

@Anonim - chyba żartujesz, chociaż w sumie ja się na tym nie znam.
Co do wpisu - świetny, może mi się kiedyś przydać. Od przybytku głowa nie boli.

command-dos   17 #10 01.07.2011 14:26

Oj, z wpisu za niedługo zrobię użytek - dzięki bardzo.

  #11 01.07.2011 15:09

@jmmzon
"chyba żartujesz, chociaż w sumie ja się na tym nie znam."
Widać, że się nie znasz.
Windows 2000 oferuje znacząco większe możliwości od Samby 3.
A Samby 4 jak nie było, tak nie ma.
W rychłe wydanie chociażby bety nie ma co wierzyć.
"Parę tygodni temu Samba4 osiągnęła ważny cel - kod Samby jest już prawie stabilny" (22.05.2003) vs 4.0.0aplha16 (24.06.2011)
Pozostawiam bez komentarza.

  #12 01.07.2011 18:57

tutorial spoko. kerberosa można również wykorzystać do poświadczeń - tzn. logujemy się raz na systemie i już automatycznie jesteśmy zalogowani do wszystkich usług, które działają w oparciu o kerberosa - np. webowe usługi na apatchu (ale działa tylko na IE i firefox, opera i chrome nie mają stosownych pluginów). jednak należy pamiętać, że kerberos obecnie nie jest już bezpiecznym protokołem. można go złamać.

co do samby... samba jest kiepska. trzyma hasła niehashowane, stosunkowo nietrudno je wykraść.. zatem lepszym rozwiązaniem jest sftp (secure ftp), którego windows natywnie nie obsługuje (ale jest kilka zewnętrznych programów), a szkoda, bo jest znacznie bezpieczniejsze i zdecydowanie szybsze..

pozdr.

djgrzenio   8 #13 02.07.2011 09:20

triiix -> autoryzacje w apache i kerberosa masz u mnie na blogu :).

webnull   9 #14 02.07.2011 14:25

@triiix (niezalogowany) | 01.07.2011 18:57
Odnośnie SFTP się zgadzam, ponieważ sam używam.
Szybkie, mocno szyfrowane, z możliwością generowania kluczy.

djgrzenio   8 #15 02.07.2011 17:36

sftp dziala w obrebie sshd wiec nie ma problemu aby autoryzowac sie przez konto w ad do sftp. ale opis pokazuje jak latwo jest wykorzystac poswiadczenia domenowe do autoryzacji na innych maszynach, ba nawet putty potrafi uzyc poswiadczen windowsa i w opisywanym przypadku jezeli komputer bylby podpiety do AD to odpala sie nam ssh bez logowania recznego

djgrzenio   8 #16 02.07.2011 17:38

zreszta opisany mechanizm wpusci wszystko do systemu po zalogowaniu bo mamy wpisy w pam.d :)

djgrzenio   8 #17 02.07.2011 17:40

ba nawet bym powiedzial ze takie rozwiazanei jest bezpieczneijesze bo baza uzyszkodnikow moze byc naprzyklad w innej serwerowni.

test zaczynam zabawe z calculate linux. ciekawe rozwiazanie. jest serwer - ktory przypomina windows server sbs, czyli ma swoje uslugi katalogowania, ma proxy, dns, mail server, jest wydanie klienckie, oraz media center, wszystko to oparte o gentoo. a ze jest to wszystko ldap to pisze ze powinnno z windowsami chodzi.. testy zaraz zaczynnam

  #18 02.07.2011 23:01

AD oparte o Windows Server 2008 chyba nie da się zmusić do pełnej integracji z Linuksem, z czym nie ma większych problemów w wersji 2003.

Zainteresowani prostszym rozwiązaniem zagadnienia powinni koniecznie zapoznać się z oprogramowaniem Likewise.

  #19 04.07.2011 18:43

Do integracji AD z Linuksem dobry jest : http://www.centrify.com/express/free-active-directory-tools-for-linux-mac.asp?r=...

Działa to całkiem fajnie. Instalacja to parę komend.

  #20 26.02.2013 05:25

siema, dzialasz jeszcze na tym blogu? bo moze moglbys mi pomoc w jednym problemie
mianowicie w pewnym momencie, robiac Twoj tut dostaje error

podczas wywolania kinit: dostaje "kinit: Cannot find KDC for requested realm while getting initial credentials"

teoretycznie wszystko pokonfigurowane jak nalezy, ale nie chce pojsc ;ccc