SAMBA Część 2
%h nazwa internetowa hosta na którym jest samba %U nazwa użytkownika sesji (tego. Którego chciał, niekoniecznie dostał) %G postawowa grupa %U %h nazwa internetowa hosta na którym jest samba %m nazwa NetBIOS klienta %M nazwa internetowa klienta %L nazwa NetBIOS serwera %R protokół wybrany podczas negocjacji - CORE, COREPLUS, LANMAN1, LANMAN2 or NT1 %d PID procesu serwera %a architektura zdalnej maszyny – Samba, Linux CIFS, OS2, WfWg- Vista, %I adres IP klienta %i lokalny adres, do którego jest podpięty klient (może być wiecej interfejsów) %T bieżąca data i czas %D grupa robocza lub domena klienta %w separator winbind %$(envvar) zawartośc zmiennej środowiskowej (tylko te widziane podczas nawiązywania połączenia) %S – aktualny serwis (current service) %P kartoteka root aktualnego serwisu %u (%g) nazwa użytkownika (grupa) aktualnego serwisu %H kartoteka home %u %N (%p) nazwa serwera kartoteki home (serwisu) użytkownika podana przez NIS C
Centralny serwer Samba Trzy segmenty sieci, routing Instalacja 6 100-500 użytkowników Kilka serwerów DHCP Kilka serwerów DNS Centralny serwer WINS Centralny serwer Samba Trzy segmenty sieci, routing Jeden kontroler domeny, bo tdbsam, nie LDAP Drukarki dostępne dla wszystkich użytkowników, spooling na serwerach lokalnych C
Zarząd, 300 użytk. Internet PC PC PC Konstruktorzy,50 użytk. PC PC PC PDC MUZA Zarząd, 300 użytk. Internet PC PC PC Member serwer BLDG1 Member serwer BLDG2 172.16.0.0/22 Konstruktorzy,50 użytk. PC PC PC PC PC Router 172.16.4.0/22 172.16.8.0/22 Konstruktorzy,150 użytk. HPLJ1 HPLJ2 HPLJ3 Domena GALAXY
root# smbpasswd -a root New SMB password: XXXXXXXX /etc/resolv.conf search galaxy.com Nameserver 127.0.0.1 Na serwerze samba: root# smbpasswd -a root New SMB password: XXXXXXXX Retype new SMB password: XXXXXXXX Utworzyć mapę użytkowników /etc/samba/smbusers: root = Administrator Skonfigurować statyczne adresy IP drukarek Założyć spoolingi drukarek na serwerach w ich segmencie sieci: lpadmin -p kolejka -v socket://nazwa_druk.galaxy.com:9100 -E /usr/bin/enable kolejka /usr/bin/accept printque Poprawić /etc/cups/mime.convs, /etc/cups/mime.types Skonfigurować serwery CUPS do drukowania na drukarkach podłączonych do innych serwerów CUPS
route add net 172.16.4.0 netmask 255.255.252.0 gw 172.16.0.128 Skonfigurować routing w serwerach (/etc/rc.d/rc.local): route add net 172.16.4.0 netmask 255.255.252.0 gw 172.16.0.128 route add net 172.16.8.0 netmask 255.255.252.0 gw 172.16.0.128 .... Skonfigurować nssswitch (/etc/nsswitch.conf) hosts: files dns wins
Skonfigurować grupy: # Grupy UNIX groupadd konstruktorzy groupadd ksiegowosc groupadd zarzad # Mapa grup Windows i Unix net groupmap add ntgroup="Domain Admins" unixgroup=root type=d net groupmap add ntgroup="Domain Users" unixgroup=users type=d net groupmap add ntgroup="Domain Guests" unixgroup=nobody type=d # Mapa grup użytkowników net groupmap add ntgroup="Dzial konstrukcyjny" unixgroup=konstruktorzy type=d net groupmap add ntgroup="Ksiegowosc" unixgroup=ksiegowosc type=d net groupmap add ntgroup="Zarzad" unixgroup=zarzad type=d
Dla każdego użytkownika utworzyć konto UNIX (useradd) i domeny (smbpasswd) Dodać użytkowników UNIX do grup UNIX Utworzyć kartoteki aplikacji, zmienić właściciela, nadać uprawnienia: mkdir -p /home/dane/{fk,projekty,pisma} mkdir -p /home/aplikacje chown -R root:root /home/dane chown -R root:root /home/aplikacje chown -R koza:fk /home/dane/fk chown -R koza:projekty /home/dane/projekty chown -R koza:pisma /home/dane/pisma chmod -R ug+rwxs,o-rwx /home/dane chmod -R ug+rwx,o+rx-w /home/aplikacje
chown 'username':users /var/lib/samba/profiles/'username' Utworzyć kartoteki użytkowników, minimum 200 MB na użytkownika na przechowywanie profili: mkdir -p /var/spool/samba mkdir -p /var/lib/samba/{netlogon/scripts,profiles} chown -R root:root /var/spool/samba chown -R root:root /var/lib/samba chmod a+rwxt /var/spool/samba Dla każdego użytkownika: mkdir /var/lib/samba/profiles/'username' chown 'username':users /var/lib/samba/profiles/'username' chmod ug+wrx,o+rx,-w /var/lib/samba/profiles/'username' Utworzyć skrypt logowania /var/lib/samba/netlogon/scripts/logon.bat. np.: net time \\muza /set /yes net use h: /home Zainstalować pliki konfiguracyjne samba, DHCP, DNS
bind interfaces only = Yes passdb backend = tdbsam smb ports = 139 PDC, smb.conf [global] workgroup = GALAXY netbios name = MUZA interfaces = eth1, lo bind interfaces only = Yes passdb backend = tdbsam smb ports = 139 add user script = /usr/sbin/useradd -m '%u' delete user script = /usr/sbin/userdel -r '%u' add group script = /usr/sbin/groupadd '%g' delete group script = /usr/sbin/groupdel '%g' add user to group script = /usr/sbin/usermod -G '%g' '%u' add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u' preferred master = Yes wins support = Yes include = /etc/samba/dc-common.conf
[ksiegowosc] comment = Dane FK path = /home/dane/fk read only = No [projekty] comment = Dane działu konstrukcyjnego path = /home/dane/projekty [pisma] comment = Pliki Zarzadu path = /home/dane/pisma
[global] (ponownie global!) PDC, dc-common.conf [global] (ponownie global!) shutdown script = /var/lib/samba/scripts/shutdown.sh abort shutdown script = /sbin/shutdown -c logon script = scripts\logon.bat logon path = \%L\profiles\%U logon drive = X: logon home = \%L\%U domain logons = Yes preferred master = Yes include = /etc/samba/common.conf
comment = Home Directories valid users = %S read only = No PDC, dc-common.conf [homes] comment = Home Directories valid users = %S read only = No browseable = No [netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon guest ok = Yes locking = No [profiles] comment = Profile Share path = /var/lib/samba/profiles profile acls = Yes
username map = /etc/samba/smbusers log level = 1 PDC, BLDG1, BLDG2 common.conf [global] username map = /etc/samba/smbusers log level = 1 syslog = 0 (0-LOG_ERR, 1-LOG_WARNING, 2-LOG_NOTICE, 3-LOG_INFO, >3-LOG_DEBUG) log file = /var/log/samba/%m max log size = 50 smb ports = 139 (Default: smb ports = 445 139) name resolve order = wins bcast hosts time server = Yes printcap name = CUPS show add printer wizard = No shutdown script = /var/lib/samba/scripts/shutdown.sh abort shutdown script = /sbin/shutdown -c utmp = Yes map acl inherit = Yes printing = cups veto files = /*.eml/*.nws/*.{*}/ veto oplock files = /*.doc/*.xls/*.mdb/ include = (anuluje kolejne include)
comment = SMB Print Spool path = /var/spool/samba guest ok = Yes PDC, BLDG1, BLDG2 common.conf [printers] comment = SMB Print Spool path = /var/spool/samba guest ok = Yes printable = Yes use client driver = Yes default devmode = Yes browseable = No [aplikacje] comment = Pliki aplikacji path = /home/aplikacje admin users = koza read only = No
netbios name = BLDG1 (BLDG2) include = /etc/samba/dom-mem.conf BLDG1, BLDG2 smb.conf [global] workgroup = GALAXY netbios name = BLDG1 (BLDG2) include = /etc/samba/dom-mem.conf BLDG1, BLDG2 dom-mem.conf # Global parameters shutdown script = /var/lib/samba/scripts/shutdown.sh abort shutdown script = /sbin/shutdown -c preferred master = Yes wins server = 172.16.0.1 idmap uid = 15000-20000 (zakres UID używanych do mapowania SID, nie mogą się pokrywać z istniejącymi UID UNIXA) idmap gid = 15000-20000 include = /etc/samba/common.conf
ddns-update-style interim; option ntp-servers 172.16.0.1; MUZA, dhcpd.conf default-lease-time 86400; max-lease-time 172800; ddns-updates on; ddns-update-style interim; option ntp-servers 172.16.0.1; option domain-name "galaxy.biz"; option domain-name-servers 172.16.0.1, 172.16.4.1; option netbios-name-servers 172.16.0.1; option netbios-node-type 8;
subnet 172.16.0.0 netmask 255.255.252.0 { range dynamic-bootp 172.16.1.0 172.16.2.254; option subnet-mask 255.255.252.0; option routers 172.16.0.1, 172.16.0.128; allow unknown-clients; } subnet 172.16.4.0 netmask 255.255.252.0 { range dynamic-bootp 172.16.7.0 172.16.7.254; option routers 172.16.4.128; subnet 172.16.8.0 netmask 255.255.252.0 { range dynamic-bootp 172.16.11.0 172.16.11.254; subnet 127.0.0.0 netmask 255.0.0.0 { subnet 123.45.67.64 netmask 255.255.255.252 {
option domain-name "abmas.biz"; BLDG1, dhcpd.conf default-lease-time 86400; max-lease-time 172800; ddns-updates on; ddns-update-style ad-hoc; (ad-hoc, interim – sposób ustalania nazwy domeny; ad-hoc nie będzie w przyszłości używana) option ntp-servers 172.16.0.1; option domain-name "abmas.biz"; option domain-name-servers 172.16.0.1, 172.16.4.1; option netbios-name-servers 172.16.0.1; option netbios-node-type 8;
subnet 172.16.1.0 netmask 255.255.252.0 { range dynamic-bootp 172.16.3.0 172.16.3.254; option subnet-mask 255.255.252.0; option routers 172.16.0.1, 172.16.0.128; allow unknown-clients; } subnet 172.16.4.0 netmask 255.255.252.0 { range dynamic-bootp 172.16.5.0 172.16.6.254; option routers 172.16.4.128; subnet 127.0.0.0 netmask 255.0.0.0 {
option netbios-node-type 8; subnet 172.16.8.0 netmask 255.255.252.0 { BLDG2, dhcpd.conf default-lease-time 86400; .............. option netbios-node-type 8; subnet 172.16.8.0 netmask 255.255.252.0 { range dynamic-bootp 172.16.9.0 172.16.10.254; option subnet-mask 255.255.252.0; option routers 172.16.8.128; allow unknown-clients; } subnet 127.0.0.0 netmask 255.0.0.0 {
Podsieć 172.16.0.0/22 172.16.4.0/22 172.16.8.0/22 DHCP podstawowy PDC, pula 172.16.1.0 - 172.16.2.254 BLGD1, pula 172.16.5.0 - 172.16.6.254 BLGD2, pula 172.16.9.0 - 172.16.10.254 DHCP zapasowy 172.16.3.0 - 172.16.3.254 172.16.7.0 - 172.16.7.254 172.16.11.0 - 172.16.11.254 Skonfigurować helper na interfejsach routera!
directory "/var/lib/named"; forwarders { 172.16.0.1; }; Skonfigurować DNS na PDC analogicznie do przykładu z instalacji 5 Skonfigurować DNS na BLGD1 i BLGD2: options { directory "/var/lib/named"; forwarders { 172.16.0.1; }; forward first; (najpierw pyta forwarders, potem sam próbuje; forward only – tylko pyta forwarders) listen-on { mynet; auth-nxdomain yes; multiple-cnames yes; notify no;
zone "." in { type hint; file "root.hint"; }; zone "localhost" in { type master; file "localhost.zone"; zone "0.0.127.in-addr.arpa" in { file "127.0.0.zone"; acl mynet { 172.16.0.0/22; 172.16.4.0/22; 172.16.8.0/22; 127.0.0.1; }
LDAP (Lightweight Directory Access Protocol) protokół distępu do katalogów, w szczególności X-500. Informacja jest przechowywana w postaci pozycji (haseł – entry). Pozycja to zbiór atrybutów, posiada unikalną nazwę – DN (Distinguished Name). DN jednoznacznie identyfikuje pozycję. Każdy z atrybutów pozycji posiada typ i jedną lub więcej wartości. Typ to zwykle skrót mnemoniczny, np. cn – common name, mail – e-mail address. Wartość zależy od charakteru atrybutu, np. cn może mieć wartość Jan Kowalski, mail kowalski@gmail.com, jpegPhoto binarny plik we formacie jpg.
Informacja uporządkowana jest w postaci hierarchicznej – drzewa Historycznie hierarchia odzwierciedla uporządkowanie geograficzne, kolejno od góry kraj, stan, miasto, instytucja, ludzie, maszyny itp. Ostatnio coraz popularniejsza jest struktura odzwierciedlajaca domeny DNS, np.: dc=pl dc=org dc=com dc=akuku Organizacja ou=Serwery ou=Personel Jednostka organizacyjna UID=Asia Osoba
LDAP pozwala na kontrolowanie, które atrybuty są dozwolone i konieczne, poprzez użycie specjalnego atrybutu objectClass Odwołania do pozycji składają się z nazwy pozycji – RDN (Relative Distinguished Name) i nazw pozycji nadrzędnych., np: UID=Asia,ou=Serwery,dc=akuku,dc=pl LDAP działa w archutekturze klient-serwer. Jeden lub więcej serwerów tworzą dzrewo informacji – DIT (Directoryt Information Tree). Klient pyta serwer i zadaje pytanie. Serwer odpowiada informacją i/lub wskazuje inny serwer, gdzie można uzyskać dalsze informacje. Dla klienta DIT jest jednym drzewem, nieważne, który serwer zapyta, dostanie tę samą informację. Slapd jest serwerem LDAP działającym na wielu platformach, m.in. Linux.
Instalacja 7 PDC i BDC – przyspieszenie działania sieci LDAP Instalacja drukarek z serwera
OpenLDAP (slapd) – interfejs znakowy Narzędzia GUI - LDAP Account Manager (LAM), Idealx CGI tools, GQ, Jxplorer, phpLDAPadmin OpenLDAP jest bazą uniwersalną, Samba3 może jej używać do: przechowywania danych kont użytkowników Windows przechowywania grup Windows mapowania grup Unix i Windows mapowania UID i SID, również użytkowników z obcych domen Użycie LDAP w Sambie implikuje jej użycie również w Unix, aby uniknąć problemu synchronizacji danych użytkowników Użycie LDAP w UNIX a pomocą PADL LDAP tools
Nowsze wersje używają 5 przywilejów: Samba < 3.0.11 wymagała użycia administratora domeny mapowanego do użytkownika root (UID=) Nowsze wersje używają 5 przywilejów: Przywilej Opis SeMachineAccountPrivilege Dodawanie kont maszyny do domeny SePrintOperatorPrivilege Zarządzanie drukarkami SeAddUsersPrivilege Dodawanie użytkowników i grup do domeny SeRemoteShutdownPrivilege Zdalne wyłączanie maszyny SeDiskOperatorPrivilege Zarządzanie udziałami
Profil mobilny XP to: HKEY_CURRENT_USER (plik ntuser.dat) Kartoteki My Documents, Application Data, Desktop, Start Menu, Templates, NetHood, Favorites itp. Podczas logowania dane profilu są kopiowane do C:\Documents and Settings\%USERNAME% Użytkownik pracuje na lokalnej kopii profilu Podczas wylogowywania dane profilu są kopiowane na serwer Aby zmniejszyć ilość kopiowanych danych, należy usuwać linki do ostatnio używanych dokumentów, cache przeglądarek usunąć z kartoteki dane aplikacji, usuwać cache java-plugins (kartoteka .jpi_cache), nie trzymać dużych dokumentów w Moje Dokumenty ani na pulpicie. Aby zmniejszyć ilość kopiowanych danych, należy zmodyfikować politykę grup lokalnych i ścieżki w ntuser.dat.
Drukowanie 'raw' – driver zainstalowany ręcznie na komputerze klienckim Drukowanie 'smart” - driver instaluje się w miarę potrzeby z serwera Drukowanie inteligentne – serwer sam rozpoznaje, jakie dane drukuje i dopasowuje filtr dla danej drukarki. CUPS potrafi inteligentnie drukować. Na komputerze klienckim trzeba zainstalować driver PostScript (z Easy Software Products). Język drukarki staje się nieistotny dla klienta, drukarkę można fizycznie wymienić na inną bez zmiany konfiguracji klienta.
debug 256 logdir /var/log/nss Potencjalne problemy i ich diagnozowanie Problemy z rozwiązywaniem nazw, name service caching daemon (nscd). Jeśli używamy winbind, oba korzystają z własnej cache. Najlepiej wyłączyć nscd. LDAP – w /etc/openldap/slapd.conf loglevel 256. Logi z LDAP można pisać do osobnego zbioru, w /etc/syslogd.conf wpisać np.: local4.* -/var/log/ldaplogs nss-ldap – dodać w /etc/ldap.conf: debug 256 logdir /var/log/nss Porównać wpisy nss_base_passwd, nss_base_shadow, nss_base_group w /etc/ldap.conf z drzewem kartoteki LDAP
Na przykład: slapcat | grep Group | grep dn dn: ou=Groups,dc=galaxy,dc=com dn: cn=Domain Admins,ou=Groups,dc=galaxy,dc=com dn: cn=Domain Users,ou=Groups,dc=galaxy,dc=com dn: cn=Domain Guests,ou=Groups,dc=galaxy,dc=com dn: cn=Domain Computers,ou=Groups,dc=galaxy,dc=com dn: cn=Administrators,ou=Groups,dc=galaxy,dc=com dn: cn=Print Operators,ou=Groups,dc=galaxy,dc=com dn: cn=Backup Operators,ou=Groups,dc=galaxy,dc=com dn: cn=Replicators,ou=Groups,dc=galaxy,dc=com W /etc/ldap.conf powinno być: nss_base_group ou=Groups,dc=galaxy,dc=com?one nss_base_passwd dc=galaxy,dc=com?sub (informacje o użytkownikach i maszynach będą szukane w DIT (Directory Information Tree) od góry w dół)
Można wpisać kilka nss_base_passwd, będą przeszukiwane po kolei Można wpisać kilka nss_base_passwd, będą przeszukiwane po kolei. Na przykład: Dane użytkowników przechowywane w DIT: ou=People, ou=Users, dc=galaxy, dc=com Dane maszyn przechowywane w DIT: ou=Comp, ou=Users, dc=galaxy, dc=com nss_base_passwd ou=People,ou=Users,dc=galaxy,dc=com?one nss_base_passwd ou=Comp,ou=Users,dc=galaxy,dc=com?one
Problemy z hasłami - getent passwd utworzy logi w /var/log/nss W /var/log/messages logi z przeszukiwania bazy LDAP Sprawdzić, czy wpis bindpw w /etc/ldap.conf lub w /etc/ldap.secrets jest poprawny, taki, jak w /etc/openldap/slapd.conf. Sprawdzić logi samby w /var/log/samba/nazwa_maszyny.log Sprawdzić plik netlogon.log w komputerze windows
Zadania do wykonania na PDC: Zainstalować i skonfigurować serwery DHCP i DNS Zainstalować serwer OpenLDAP Zainstalować narzędzia klienckie PAM i NSS Zainstalować i skonfigurować Samba-3 PDC Zainstalować skrypty Idealx smbldap scripts Zainicjować LDAP Utworzyć użytkowników i grupy Skonfigurować drukarki Utworzyć i skonfigurować kartoteki udziałów sieciowych Utworzyć kartoteki na profile Utworzyć skrypty logowania Skonfigurować prawa użytkowników
Zadania do wykonania na BDC: Zainstalować i skonfigurować serwery DHCP i DNS Zainstalować narzędzia klienckie PAM i NSS Skonfigurować drukarki Utworzyć i skonfigurować kartoteki udziałów sieciowych Utworzyć kartoteki na profile
Zadania do wykonania na kliencie Windows XP: Przekierować domyślny folder profilu Przekierować pliki PST MS Outlook Usunąć profil mobilny przed wylogowaniem Przesłać sterowniki drukarek na serwer Samba Zainstalować aplikacje Wykonać obraz dysku
Zarząd, 300 użytk. Internet PC PC PC Konstruktorzy,50 użytk. PC PC PC PDC MUZA Zarząd, 300 użytk. Internet PC PC PC Member serwer BLDG2, BDC Member serwer BLDG1, BDC 172.16.0.0/22 Konstruktorzy,50 użytk. PC PC PC PC PC Router 172.16.4.0/22 172.16.8.0/22 Konstruktorzy,150 użytk. HPLJ1 HPLJ2 HPLJ3 Domena GALAXY
Konfiguracja serwera OpenLDAP Zainstalować /etc/openldap/slapd.conf: include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/samba3.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args access to dn.base="" by self write by * auth access to attr=userPassword access to attr=shadowLastChange by * read
access to * by * read by anonymous auth #loglevel 256 schemacheck on idletimeout 30 backend bdb database bdb checkpoint 1024 5 cachesize 10000 suffix "dc=galaxy,dc=com" rootdn "cn=Manager,dc=galaxy,dc=com" # rootpw = not24get rootpw {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV directory /data/ldap
# Indices to maintain index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUID eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index default sub
Usunąć wszystkie pliki z /date/ldap, upewnić się, że kartoteka ma prawa: ls -al /data | grep ldap drwx------ 2 ldap ldap 48 Dec 15 22:11 ldap Zainstalować w /dta.ldap plik DB_CONFIG: set_cachesize 0 150000000 1 set_lg_regionmax 262144 set_lg_bsize 2097152 #set_lg_dir /var/log/bdb set_flags DB_LOG_AUTOREMOVE Usunąć komentarz z linii loglevel 256 w /etc/openldap/slapd.conf, przekierowac local4 w /etc/syslog.conf do osobnego zbioru: local4.* -/data/ldap/log/openldap.log
Konfiguracja PAM i nss REDHAT dostarcza do konfiguracji narzędzie authconfig-tui Na PDC zainstalować plik konfiguracyjny /etc/ldap.conf: host 127.0.0.1 base dc=galaxy,dc=com binddn cn=Manager,dc=galaxy,dc=com bindpw not24get timelimit 50 bind_timelimit 50 bind_policy hard idle_timelimit 3600 pam_password exop nss_base_passwd ou=People,dc=galaxy,dc=com?one nss_base_shadow ou=People,dc=galaxy,dc=com?one nss_base_group ou=Groups,dc=galaxy,dc=com?one ssl off
Na obu BDC zainstalować plik konfiguracyjny /etc/ldap.conf: host 172.16.0.1 base dc=galaxy,dc=com binddn cn=Manager,dc=galaxy,dc=com bindpw not24get timelimit 50 bind_timelimit 50 bind_policy hard idle_timelimit 3600 pam_password exop nss_base_passwd ou=People,dc=galaxy,dc=com?one nss_base_shadow ou=People,dc=galaxy,dc=com?one nss_base_group ou=Groups,dc=galaxy,dc=com?one ssl off
W zbiorze /etc/nsswitch W zbiorze /etc/nsswitch.conf poprawić poniższe linie, aby użytkownicy i grupy były szukane w plikach systemowych i LDAP: passwd: files ldap shadow: files ldap group: files ldap hosts: files dns wins W /etc/pam.d/system-auth dodać autoryzację LDAP: auth required pam_securetty.so auth required pam_nologin.so auth sufficient pam_ldap.so auth required pam_unix2.so nullok try_first_pass #set_secrpc account sufficient pam_ldap.so account required pam_unix2.so password required pam_pwcheck.so nullok password required pam_ldap.so use_first_pass use_authtok password required pam_unix2.so nullok use_first_pass use_authtok session required pam_unix2.so none # debug or trace session required pam_limits.so session required pam_env.so session optional pam_mail.so
Zainstalować zbiory konfiguracyjne samby w PDC /etc/smb.conf [global] unix charset = LOCALE workgroup = GALAXY2 netbios name = MUZA interfaces = eth1, lo bind interfaces only = Yes passdb backend = ldapsam:ldap://muza.galaxy.com enable privileges = Yes username map = /etc/samba/smbusers log level = 1 syslog = 0 log file = /var/log/samba/%m max log size = 50 smb ports = 139 name resolve order = wins bcast hosts time server = Yes printcap name = CUPS show add printer wizard = No
add user script = /opt/IDEALX/sbin/smbldap-useradd -m "%u" delete user script = /opt/IDEALX/sbin/smbldap-userdel "%u" add group script = /opt/IDEALX/sbin/smbldap-groupadd -p "%g" delete group script = /opt/IDEALX/sbin/smbldap-groupdel "%g" add user to group script = /opt/IDEALX/sbin/smbldap-groupmod - m "%u" "%g" delete user from group script = /opt/IDEALX/sbin/smbldap- groupmod -x "%u" "%g" set primary group script = /opt/IDEALX/sbin/smbldap-usermod -g "%g" "%u" add machine script = /opt/IDEALX/sbin/smbldap-useradd -w "%u" logon script = scripts\logon.bat logon path = \\%L\profiles\%U logon drive = X: domain logons = Yes preferred master = Yes wins support = Yes ldap suffix = dc=galaxy,dc=com ldap machine suffix = ou=People ldap user suffix = ou=People ldap group suffix = ou=Groups ldap idmap suffix = ou=Idmap
ldap admin dn = cn=Manager,dc=galaxy,dc=com idmap backend = ldap:ldap://muza.galaxy.com idmap uid = 10000-20000 idmap gid = 10000-20000 map acl inherit = Yes printing = cups printer admin = root, koza [ksiegowosc] comment = Dane FK path = /home/dane/fk read only = No [projekty] comment = Dane działu konstrukcyjnego path = /home/dane/projekty [pisma] comment = Pliki Zarzadu path = /home/dane/pisma
[homes] comment = Kartoteki home valid users = %S read only = No browseable = No [print$] comment = Drivery drukarek path = /var/lib/samba/drivers browseable = yes guest ok = no read only = yes write list = root, koza
[aplikacje] comment = Pliki aplikacji path = /home/aplikacje admin users = koza read only = No [netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon guest ok = Yes locking = No [profiles] comment = Profile Share path = /var/lib/samba/profiles profile acls = Yes [profdata] comment = Profile Data Share path = /var/lib/samba/profdata
Sprawdzić komendą testparm poprawność smb.conf Usunąć zbiory: rm /etc/samba/*tdb rm /var/lib/samba/*tdb rm /var/lib/samba/*dat rm /var/log/samba/* Założyć hasło, którego samba będzie używała do komunikacji z LDAP (powstanie secrets.tdb): root# smbpasswd -w not24get (-w opcja tyko dla LDAP,hasło administratora LDAP) Setting stored password for "cn=Manager,dc=abmas,dc=biz" in secrets.tdb Samba wygeneruje SID po uruchomieniu. Uruchomić sambę i po kilku sekundach wykonać: root# smbclient -L localhost -U% root# net getlocalsid SID for domain MUZA is: S-1-5-21-3504140859-1010554828- 2431957765 Jeśli po kilku próbach nie uda się uzyskac SID, poszukać błędu Zatrzymać sambę Skonfigurować mechanizm udostępniania kartotek dla BDC, rsync lub NFS, np. /etc/exports : /home *(rw,root_squash,sync)
Zainstalować pakiet smbldap-tools Utworzyć kartoteki na narzędzia: mkdir -p /opt/IDEALX/sbin chown root:root /opt/IDEALX/sbin chmod 755 /opt/IDEALX/sbin mkdir -p /etc/smbldap-tools chown root:root /etc/smbldap-tools chmod 755 /etc/smbldap-tools Skopiować narzędzia do utworzonych kartotek: cp /usr/sbin/smbldap-* /opt/IDEALX/sbin/ cp /usr/share/doc/smbldap-tools-0.9.5/configure.pl /opt/IDEALX/sbin/ cp /usr/lib/perl5/vendor_perl/5.10.0/smbldap_tools.pm /opt/IDEALX/sbin/ Nadać atrybuty: chown root:root /opt/IDEALX/sbin/* chmod 755 /opt/IDEALX/sbin/smbldap-* chmod 640 /opt/IDEALX/sbin/smb*pm Skonfigurować smbldap-tools: cd /opt/IDEALX/sbin ./configure.pl
Dodać użytkowników i grupy systemowe, użytkowników i grupy realne. /etc/rc.d/init.d/ldap start /opt/IDEALX/sbin ./smbldap-populate -a root -k 0 -m 0 Sprawdzić, czy kartoteka LDAP posiada kontener IDMAP: root# slapcat | grep -i idmap dn: ou=Idmap,dc=galaxy,dc=com ou: idmap Jeśli brak IDMAP, dodać plik /etc/openldap/idmap.LDIF: dn: ou=Idmap,dc=abmas,dc=biz objectClass: organizationalUnit structuralObjectClass: organizationalUnit i wykonać: ldapadd -x -D "cn=Manager,dc=galaxy,dc=com" \ -w not24get < /etc/openldap/idmap.LDIF Sprawdzić zawartość bazy: slapcat Sprawdzić czy serwer LDAP odpowiada na pytania: ldapsearch -x -b "dc=galazy,dc=com" "(ObjectClass=*)" Sprawdzić, czy nss przeszukuje LDAP: root# getent passwd | grep root root:x:998:512:Netbios Domain Administrator:/home:/bin/false
Dla każdego użytkownika: root# ./smbldap-useradd -m -a username root# ./smbldap-passwd username Changing password for username New password : XXXXXXXX Retype new password : XXXXXXXX root# smbpasswd username New SMB password: XXXXXXXX Retype new SMB password: XXXXXXXX Utworzyć grupy: root# ./smbldap-groupadd -a Ksiegowosc root# ./smbldap-groupadd -a Konstruktorzy root# ./smbldap-groupadd -a Zarząd Uruchomić named, dhcpd, ldap, smbd, nmbd, winbind Dołączyc się do domeny: root# net rpc join -S MUZA -U root%not24get Joined domain GALAXY2. Przeładować winbindd
Konfiguracja drukarek, drukowanie 'smart' Nadać adresy IP drukarkom Wpisać drukarki do serwera DNS Na serwerach obsługujących drukarki założyć spooling: lpadmin -p kolejka -v socket://nazwa_drukarki.galaxt.com:9100 -E Poprawić /etc/mime.convs, /etc/mime.types Utworzyć kartoteki na drivery: root# mkdir -p /var/lib/samba/drivers/{W32ALPHA,W32MIPS,W32X86,WIN40} root# chown -R root:root /var/lib/samba/drivers root# chmod -R ug=rwx,o=rx /var/lib/samba/drivers
Zainstalować zbiory konfiguracyjne samby w BDC /etc/smb.conf [global] unix charset = LOCALE workgroup = GALAXY2 netbios name = BLDG1 (BLDG2) passdb backend = ldapsam:ldap://muza.galaxy.com enable privileges = Yes username map = /etc/samba/smbusers log level = 1 syslog = 0 log file = /var/log/samba/%m max log size = 50 smb ports = 139 name resolve order = wins bcast hosts printcap name = CUPS show add printer wizard = No logon script = scripts\logon.bat logon path = \\%L\profiles\%U logon drive = X: domain logons = Yes
domain master = No wins server = 172.16.0.1 ldap suffix = dc=galaxy,dc=com ldap machine suffix = ou=People ldap user suffix = ou=People ldap group suffix = ou=Groups ldap idmap suffix = ou=Idmap ldap admin dn = cn=Manager,dc=galaxy,dc=com idmap backend = ldap:ldap://muza.galaxy.com idmap uid = 10000-20000 idmap gid = 10000-20000 printing = cups printer admin = root, koza
[ksiegowosc] comment = Dane FK path = /home/dane/fk read only = No [projekty] comment = Dane działu konstrukcyjnego path = /home/dane/projekty [pisma] comment = Pliki Zarzadu path = /home/dane/pisma
[homes] comment = Kartoteki home valid users = %S read only = No browseable = No [print$] comment = Drivery drukarek path = /var/lib/samba/drivers browseable = yes guest ok = no read only = yes write list = root, koza
[aplikacje] comment = Pliki aplikacji path = /home/aplikacje admin users = koza read only = No [netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon guest ok = Yes locking = No [profiles] comment = Profile Share path = /var/lib/samba/profiles profile acls = Yes [profdata] comment = Profile Data Share path = /var/lib/samba/profdata
Skonfigurować PAM i nss jak dla PDC Dodać hasło do secrets.tdb: root# smbpasswd -w not24get Setting stored password for "cn=Manager,dc=abmas,dc=biz" in secrets.tdb Odczytać SID z PDC i dodać do secrets.tdb: net rpc getsid GALAXY2 Storing SID S-1-5-21-3504140859-1010554828-2431957765 \ for Domain GALAXY2 in secrets.tdb Dołączyć się do domeny: root# net rpc join -U root%not24get Joined domain GALAXY2. Uruchomić bind, dhcpd, smbd,nmbd, winbindd Zamontować kartoteki użytkowników przez nfs, w /etc/fstab dopisać (mount - a): muza.galaxy.com:/home /home nfs rw 0 0
Profile mobilne Założyć kartoteki części sieciowej profili użytkowników: root# mkdir -p /var/lib/samba/profdata root# chown root:root /var/lib/samba/profdata root# chmod 755 /var/lib/samba/profdata # Dla każdego użytkownika: root# cd /var/lib/samba/profdata root# mkdir -p username root# for i in InternetFiles Cookies History AppData \ LocalSettings MyPictures MyDocuments Recent root# do root# mkdir username/$i root# done root# chown -R username:Domain\ Users username root# chmod -R 750 username
Indywidualne profile użytkownika – plik NTUSER.DAT Profil domyślny – skasować indywuidualne pliki NTUSER.DAT, założyć jeden w Documents\ and \ settings\Default\ User Profil obowiązkowy – zmioenić nazwę NTUSER.DAT na NTUSER.MAN Utworzyć profil grupy Położenie profilu jest zapisane w opisie użytkownika bazy LDAP, zmienić go można skryptem smbldap-tools managerem użytkowników domeny Microsoft, SRVTOOLS.exe Skrypt logowania Po zalogowaniu do domeny wykonywany jest skrypt: /var/lib/samba/netlogon/scripts/logon.bat Może zawierać mapowanie dysków sieciowych, ustawianie czasu systemowego itp. Pożyteczny może się okazać jeżyk skryptów KiXtart: http://www.kixtart.org/
Przydzielanie praw i przywilejów użytkownikom Jako root na PDC wydać polecenie: root# net -S MUZA -U root%not24get rpc rights grant \ "GALAXY2\Domain Admins" SeMachineAccountPrivilege \ SePrintOperatorPrivilege SeAddUsersPrivilege \ SeDiskOperatorPrivilege SeRemoteShutdownPrivilege Successfully granted rights. Wykonać powyższe polecenie na pozostałych kontrolerach, zamieniając MUZA na BLDG1, BLDG2 Dodać przywilej dołączania stacji do domeny dla użytkownika 'koza' (tylko na PDC, bo na BDC nie będą dodawane maszyny): "GALAXY2\koza" SeMachineAccountPrivilege Weryfikacja: Root# net rpc rights list accounts -Uroot%not24get GALAXY2\koza SeMachineAccountPrivilege S-0-0 .........
Instalowanie sterowników drukarek Z Windows XP Professional zalogować się jako root W otoczeniu sieciowym znaleźć drukarkę Otworzyć właściwości drukarki Uruchomić „dodaj sterownik” Po przesłaniu sterownika we właściwościach drukarki zmienić co najmniej jedno ustawienie, aby samba zainicjowała swoją bazę drukarek. (jeśli trzeba, można później cofnąć to ustawienie)
Master LDAP server samba passdb backend = ldapsam:"ldap://master.galaxy.com Master LDAP server samba Slave LDAP server passdb backend = ldapsam:ldap://master.galaxy.com \ ldapsam:ldap://slave.galaxy.com
Zatrzymać serwer ldap Zainstalować nowy plik konfiguracyjny Master LDSAP serwer, /etc/slapd.conf: include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/samba.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args database bdb suffix "dc=galaxy,dc=com" rootdn "cn=Manager,dc=galaxy,dc=com" # rootpw = not24get rootpw {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV replica host=lapdc.galaxy.com:389 (dopisać lapdc w DNS) suffix="dc=galaxy,dc=com" binddn="cn=updateuser,dc=galaxy,dc=com" bindmethod=simple credentials=not24get
access to attrs=sambaLMPassword,sambaNTPassword by dn="cn=sambaadmin,dc=galaxy,dc=com" write by * none replogfile /var/lib/ldap/replogfile directory /var/lib/ldap # Indices to maintain index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUID eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index default sub
Utworzyć plik nozwe_konta.ldif: dn: cn=updateuser,dc=galaxy,dc=com objectClass: person cn: updateuser sn: updateuser userPassword: not24get dn: cn=sambaadmin,dc=galaxy,dc=com cn: sambaadmin sn: sambaadmin userPassword: buttercup Dodać nowe konta: root# slapadd -v -l admin-accts.ldif Wykonać dump bazy LDAP: root# slapcat -v -l LDAP-dump.txt
Na serwerze Slave utworzyć plik konfiguracyjny /etc/slapd.conf: include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/samba.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args database bdb suffix "dc=galaxy,dc=com" rootdn "cn=Manager,dc=galaxy,dc=com" # rootpw = not24get rootpw {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV access to * by dn=cn=updateuser,dc=galaxy,dc=com write by * read updatedn cn=updateuser,dc=galaxy,dc=com updateref ldap://muza.galaxy.com
directory /var/lib/ldap # Indices to maintain index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUID eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index default sub
Załadować do bazy dane skopiowane z Master: slapadd -v -l LDAP-dump.txt Uruchomic ldap Na serwerze Master uruchomić LDAP, slurpd (slurpd - daemon wykonujący replikację, w nowszych instalacjach sysrepl) Na Slave w kartorece /var/lib/ldap powiniez sie pojawić zbiór replogfile zawierający update danych z Master Na wszystkich kontrolerach domeny dodać do secrets.tdb hasło wykorzystywane przez sambę do pisania do LDAP: smbpasswd -w buttercup
Samba 3 – serwer plików, drukarek, domena Windows NT + elementy Active Directory. Obecnie wersja 3.4.3. Samba 4 – Active Directory, Exchange, wersja alpha