Instalacja Samby
Samba 3.0, w przeciwieństwie do wcześniejszych wersji, obsługuje pracę w sieciach Windows działających w trybie Active Directory (lub trybie natywnym Windows 2000). Jeśli wymagana jest ta funkcjonalność, należy zainstalować pakiet samba3-3.0 zamiast samba-2.2.
Active Directory wykorzystuje inny schemat nazewnictwa domen, komputerów i użytkowników, oparty na DNS. Załóżmy, że istnieje sieć o nazwie my.firm.com z komputerami host1.my.firm.com, host2.my.firm.com, host3.my.firm.com; wówczas domena Active Directory będzie nazywać się my.firm.com, a użytkownicy Active Directory będą mieli nazwy w formacie user@my.firm.com.
/etc/krb5.conf musi zawierać co najmniej następujące wiersze:
[realms]
MY.FIRM.COM = {
kdc = your.kerberos.server
}
gdzie MY.FIRM.COM to nazwa domeny (lub „krainy” w terminologii Kerberos; musi być podana wielkimi literami), a your.kerberos.server to nazwa lub adres IP KDC (Kerberos Domain Controller), odpowiednika PDC (Primary Domain Controller) w domenach Windows NT — na przykład server.my.firm.com lub 192.168.117.11.
Prawidłowość ustawień można sprawdzić, wykonując polecenie (zastąp nazwę użytkownika aktualną, np. administrator@MY.FIRM.COM):
# kinit username@REALM
i upewniając się, że hasło zostało zaakceptowane przez serwer. REALM zawsze podaje się wielkimi literami.
Musisz również upewnić się, że możliwe jest uzyskanie nazwy KDC na podstawie jego adresu IP (tzw. reverse DNS lookup). Nazwa KDC musi albo odpowiadać nazwie NetBIOS komputera (nazwa maszyny w sieci Windows bez podania domeny), albo składać się z nazwy NetBIOS i nazwy domeny. Jeśli nie uda się uzyskać nazwy KDC po adresie, otrzymasz błąd „local error” podczas próby dołączenia do domeny.
Jeśli Twój DNS nie obsługuje reverse lookup lub KDC nie jest zarejestrowany w DNS, możesz określić zgodność adresu IP z nazwą w pliku /etc/hosts.
Do pracy w Active Directory plik smb.conf musi zawierać następujące parametry:
[global] # Задает Kerberos realm, обычно совпадает с именем домена в # верхнем регистре, например realm = MY.FIRM.COM realm = <REALM> # Это обычно часть реалма до первой точки, например # workgroup = MY workgroup = <WORKGROUP> # Тип домена - Active Directory. security = ADS # В случае Active Directory пароли всегда шифруются. encrypt passwords = true # Обычно этот параметр указывать не обязательно, т.к. Samba сама # определяет адрес KDC, если в сети есть WINS-сервер и он указан # в smb.conf ads server = <your.kerberos.server>
Upewnij się, że Samba nie jest uruchomiona. Jeśli jest uruchomiona, należy ją zatrzymać:
# service smb stop; service winbind stop
Aby dołączyć komputer do domeny, wykonaj polecenie:
# net ads join -U administrator
gdzie administrator to nazwa użytkownika domeny uprawnionego do tworzenia nowych kont.
Jeśli nie pojawił się komunikat o błędzie, komputer został pomyślnie zarejestrowany w domenie — w przeciwnym razie sprawdź poprawność ustawień w plikach /etc/samba/smb.conf i /etc/krb5.conf. Upewnij się, że użytkownik podany po -U w net ads join ma odpowiednie uprawnienia do tworzenia nowych kont.
Teraz można uruchomić niezbędne usługi:
# service smb start; service winbind start
Musisz otrzymać listę dostępnych zasobów, przy czym smbclient nie powinien pytać o nazwę użytkownika i hasło.
Aby sprawdzić, czy dostęp do zasobów Twojego komputera jest możliwy z innych maszyn w domenie, możesz spróbować wykonać tę samą komendę:
$ smbclient -k -L <имя вашего компьютера в домене>
i otrzymać listę dostępnych zasobów. Możesz również spróbować otworzyć jakiś zasób na Twojej maszynie z maszyny z systemem Windows należącej do domeny. W każdym razie nazwa użytkownika i hasło nie powinny być pytane.
W przeciwieństwie do domen Windows NT, uwierzytelnianie w Active Directory odbywa się nie za pomocą nazwy i hasła, ale za pomocą biletów protokołu Kerberos. Z tego powodu praca z smbclient może początkowo wydawać się niezwykła.
Po pierwsze, przy wywołaniu smbclient należy podać opcję -k. Po drugie, bilety Kerberos są ważne przez określony czas (zwykle przez dobę, ale zależy to od ustawień serwera). Dlatego trzeba je okresowo odnawiać za pomocą polecenia kinit:
# kinit username@REALM
gdzie username to Twoja nazwa użytkownika w domenie Actiev Directory REALM.
Więc jeśli smbclient nagle przestaje łączyć się z zasobami domenowymi, spróbuj odnowić bilet – najprawdopodobniej problem leży właśnie w tym.
