Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
pl:przewodniki:linux-w-domenie-active-directory [2008/06/17 15:22]
spongecat
pl:przewodniki:linux-w-domenie-active-directory [2008/06/18 09:53] (current)
paszczus nie ma potrzeby listowac to, co linijke nizej instalujemy
Line 1: Line 1:
 +Active Directory jest usługą katalogową dla systemów windows. Poniższy przewodnik pokazuje jak przyłączyć komputer z linuksem PLD 3.0 (TH) do usługi AD z kontrolerem domeny opartym na win2000 server.
  
 +Uwaga: Jeżeli mamy komputer z 2 systemami, windows i linux to najlepiej jest im przydzielić inne nazwy hostow. Kontroler domeny rozpoznaje system na danym komputerze i jeżeli ten sam komputer z tą samą nazwą hosta i 2 różnymi systemami połączy się z domeną to kontroler domeny z każdą zmianą systemu po prostu głupieje i twierdzi ze takiego konta maszyny nie ma. Spowoduje to konieczność usunięcia i ponownego zakładania konta dla hosta przy każdej zmianie systemu. W mojej sytuacji mam przypisane osobne ip do każdego systemu i różne nazwy hostów. Nie muszę chyba tez przypominać żeby zrobić kopię modyfikowanych plików, zwłaszcza pama, jak coś pójdzie nie tak to skończy się to niemożliwością zalogowania do systemu.
 +
 +Teraz co jest potrzebne. Potrzebujemy konta z prawami dodawania kont w domenie, najlepiej admina domeny i roota na linuksie. Potrzebujemy także zsynchronizować czas z kontrolerem domeny, jeżeli różnica czasów będzie większa niż 5 min to po prostu się do takiej domeny nie podłączymy. Do synchronizacji czasu potrzebny jest pakiet ntp.
 +Potrzeba jeszcze pakietów samba, winbind i kerberos.
 +
 +Instalujemy powyższe poleceniem
 +<​code>​
 +poldek -i samba samba-common samba-winbind samba-client krb5-libs krb5-client krb5-common
 +</​code>​
 +Załóżmy ze nasza domena to **domena.local**
 +(może to być domena.local.org.pl lub cokolwiek innego), nazwa komputera to **linux** a nazwa kontrolera to **server1**.
 +Tak wyglądają moje pliki konfiguracyjne:​
 +
 +/​etc/​nsswitch.conf
 +<​code>​
 +# /​etc/​nsswitch.conf
 +#
 +# Example configuration of GNU Name Service Switch functionality.
 +#
 +passwd: files winbind
 +group: files winbind
 +shadow: files winbind
 +hosts: files dns
 +networks: files dns
 +protocols: files
 +services: files
 +ethers: files
 +rpc: files
 +netgroup: files
 +</​code>​
 +Ta modyfikacja pozwala na sprawdzanie poleceniu passwd użytkownikow i grup z listy winbind.
 +Winbind jest odpowiedzialny ze odwzorowanie kont domeny na konta uniksowe, linux widzi je wtedy jako natywne konta.
 +
 +Konfiguracja kerberos (uwaga na duże litery!!!!!)
 +/​etc/​krb5.conf
 +
 +<​code>​
 +[kdc]
 +profile = /​var/​lib/​kerberos/​kdc.conf
 +
 +[libdefaults]
 +default_realm = DOMENA.LOCAL
 +dns_lookup_realm = false
 +dns_lookup_kdc = false
 +ticket_lifetime = 24h
 +forwardable = true
 +
 +[realms]
 +DOMENA.LOCAL = {
 +kdc = server1.domena.local
 +}
 +
 +[domain_realm]
 +.kerberos.server = DOMENA.LOCAL
 +# domena.local = server1.domena.local
 +
 +[logging]
 +default = FILE:/​var/​log/​kerberos/​krb5
 +kdc = FILE:/​var/​log/​kerberos/​krb5kdc
 +admin_server = FILE:/​var/​log/​kerberos/​kadmin
 +
 +[appdefaults]
 +pam = {
 +debug = false
 +ticket_lifetime = 36000
 +renew_lifetime = 36000
 +forwardable = true
 +# krb4_convert = false
 +}
 +</​code>​
 +
 +Konfiguracja samby (wklejam tylko sekcję global, znowu uwaga na duże litery)
 +/​etc/​samba/​smb.conf
 +
 +<​code>​
 +[global]
 +
 +workgroup = DOMENA
 +security = ADS
 +encrypt passwords = yes
 +password server = *
 +realm = DOMENA.LOCAL
 +domain master = No
 +local master = No
 +template homedir = /​home/​users/​%D/​%U
 +template shell = /bin/bash
 +winbind enum users = yes
 +winbind enum groups = yes
 +# winbind use default domain = yes
 +idmap uid = 10000-20000
 +idmap gid = 10000-20000
 +winbind separator = +
 +winbind cache time = 300
 +# winbind enable local accounts = yes
 +winbind trusted domains only = no
 +</​code>​
 +
 +Ostatni krok to konfiguracja pama. W systemach redhatopodobnych (np. PLD) wystarczy modyfikacja pliku /​etc/​pam.d/​system-auth
 +<​code>​
 +#%PAM-1.0
 +auth required pam_listfile.so item=user sense=deny file=/​etc/​security/​blacklist onerr=succeed
 +auth required pam_env.so
 +auth sufficient pam_winbind.so
 +auth required pam_tally.so deny=0 file=/​var/​log/​faillog onerr=succeed
 +auth required pam_unix.so try_first_pass
 +
 +account sufficient pam_winbind.so
 +account required pam_tally.so file=/​var/​log/​faillog onerr=succeed
 +account required pam_time.so
 +account required pam_unix.so
 +
 +# password [success=1 ignore=reset abort=die default=bad] pam_pwgen.so upper=1 digit=1
 +password required pam_cracklib.so try_first_pass difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
 +password required pam_unix.so try_first_pass blowfish shadow use_authtok
 +password required pam_exec.so failok seteuid /​usr/​bin/​make -C /var/db
 +# password required pam_exec.so failok seteuid /​usr/​bin/​make -C /var/yp
 +
 +session optional pam_keyinit.so revoke
 +session required pam_limits.so change_uid
 +session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
 +session required pam_unix.so
 +session required pam_mkhomedir.so skel=/​etc/​skel/​ umask=0077
 +</​code>​
 +Tutaj dodane zostaly tylko linie zawierajace **pam_winbind.so** i **pam_mkhomedir.so**.
 +
 +Teraz pozostaje zrestartować usługi samba i winbind.
 +<​code>​
 +service smb restart
 +service winbind restart
 +</​code>​
 +Podłączamy się do domeny
 +<​code>​
 +net ads join -U admin
 +</​code>​
 +gdzie admin to konto z uprawnieniami admina domeny
 +Powinniśmy zostać zapytani o hasło admina, po poprawnej weryfikacji system powinien wyswietlić coś takiego
 +<​code>​
 +Using short domain name -- DOMENA
 +Joined '​LINUX'​ to realm '​DOMENA.LOCAL'​
 +</​code>​
 +Teraz testujemy połączenie z domeną, odwzorowanie użytkownikow i grup
 +<​code>​
 +net ads testjoin
 +</​code>​
 +Powinniśmy otrzymać
 +<​code>​
 +Join is OK
 +</​code>​
 +<​code>​
 +wbinfo -u
 +</​code>​
 +powinno wyświetlić konta użytkowników domeny
 +<​code>​
 +wbinfo -g
 +</​code>​
 +powinno wyświetlić grupy
 +<​code>​
 +wbinfo -a użytkownik%hasło
 +</​code>​
 +sprawdza czy użytkownik może zalogować się do domeny.
 +Teraz możemy się logować do systemu na konta w domenie. Jako nazwę użytkownika podajemy **DOMENA+user** gdzie user to nazwa użytkownika w domenie. Katalogi domowe użytkowników będą tworzone w /​home/​users/​DOMENA/​ podczas pierwszego logowania.
 +
 +Powyższa konfiguracja będzie wygladać inaczej na systemie win2003 R2 i pewnie win2008 przy włączonej integracji z systemami unix, w win2003 R2 to się nazywa RFC 2307 schema.
 +
 +Jest to prawie kompletny opis jak zmusić PLD do poprawnej autoryzacji w domenie Active Directory. W miarę upływu czasu mam nadzieję dalej rozwijać ten przewodnik.
pl/przewodniki/linux-w-domenie-active-directory.txt · Last modified: 2008/06/18 09:53 by paszczus
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 Powered by Lighttpd - fly light