Wystarczy usunąć „[NOTFOUND=return]”. Jednak nadal nie będziemy korzystać z zeroconf. Warto również dodać rozwiązywanie nazw za pomocą WINS. Dlatego przekształcimy tę linię w coś podobnego:
hosts: files dns wins mdns4_minimal mdns4
Ustawienia dla WINS zostaną przedstawione dalej, w pliku /etc/samba/smb.conf.
Konfiguracja synchronizacji czasu z kontrolerem domeny.
Edytujemy plik /etc/default/ntpdate i ustawiamy następujące wartości
NTPSERVERS="dc.mydomain.local" # откуда брать время, на контроллере домена по умолчанию имеестя NTP-сервер NTPDATE_USE_NTP_CONF=no
Konfiguracja dostępu przez SSH.
Będzie trzeba zainstalować pakiet openssh-server. (Przed instalacją pakietów przydatne będzie skonfigurowanie Ubuntu do buforowania repozytoriów, jak opisano w artykule). Standardowy plik konfiguracyjny nas na razie w pełni zadowoli. (Później, prawdopodobnie, warto będzie ponownie skonfigurować go tak, aby używał klucza lub certyfikatu, albo powiązał go z AD)
Instalacja Samba i winbind.
Po instalacji te dwa usługi są automatycznie dodawane do autostartu.
W pliku /etc/samba/smb.conf usuń wszystko i wpisz to
[global]
log file = /var/log/samba/log.%m
max log size = 50
hosts allow = 192.168. # подсети, которые разрешаются к использованию
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
wins server = 192.168.3.200 # тут айпишник вашего сервера WINS (у меня то же, что и dc.mydomain.local, но айпишник предпочтительней)
unix charset = UTF8
dos charset = cp866
workgroup = MYDOMAIN
security = ADS
realm = MYDOMAIN.LOCAL
password server = dc.mydomain.local
encrypt passwords = yes
pam password change = yes
# netbios name = firstubuntu
auth methods = winbind guest
lanman auth = no
client lanman auth = no
client ntlmv2 auth = yes
min protocol = NT1
auth methods = winbind
server string = %h server (Samba, Ubuntu)
preferred master = no
dns proxy = no
panic action = /usr/share/samba/panic-action %d
name resolve order = lmhosts host wins bcast
idmap backend = rid:MYDOMAIN.LOCAL=10000-19999
; idmap domains = MYDOMAIN.LOCAL
; idmap config MYDOMAIN.LOCAL:backend = rid
; idmap config MYDOMAIN.LOCAL:range = 10000-19999
idmap uid = 10000-19999
idmap gid = 10000-19999
winbind use default domain = yes
; winbind nested groups = yes
winbind refresh tickets = yes
winbind enum groups = yes
winbind enum users = yes
template shell = /bin/bash
; template homedir = /home/%D/%U
usershare path = /var/lib/samba/usershares/
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
; guest ok = no
; read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
; browseable = yes
; read only = yes
; guest ok = no
; write list = root, @ntadmin
Dołączanie komputera do domeny.
net ads join -U Administrator
Po wpisaniu polecenia zostanie poproszony o hasło. Będzie potrzebne konto z uprawnieniami do dodawania komputerów do domeny, na przykład konto administratora domeny MYDOMAIN\Administrator. Uruchomimy ponownie winbind i samba
/etc/init.d/winbind restart /etc/init.d/samba restart
Ponowna konfiguracja /etc/nsswitch.conf
nsswitch.conf, między innymi, określa źródła informacji o kontach. Konta będą teraz przechowywane na kontrolerze domeny, a źródłem informacji o nich będzie winbind. Edytujemy
passwd: files winbind group: files winbind shadow: files winbind
Pozostałe wiersze pozostawiamy bez zmian. Teraz, aby sprawdzić, czy nasz winbind połączył się z kontrolerem domeny i działa poprawnie, uruchamiamy
getent passwd
W wyniku powinniśmy zobaczyć nasze lokalne konta oraz długą listę kont domenowych. Jeśli ich nie widzimy, szukamy błędu w poprzednich krokach.
Konfiguracja PAM.
Bądź ostrożny przy edycji konfiguracji PAM – istnieje ryzyko utraty możliwości zalogowania się. Zaleca się, aby podczas edycji tych plików mieć otwarte kilka terminali z zalogowanym użytkownikiem root na wszelki wypadek.
Edytujemy /etc/pam.d/common-auth
auth required pam_env.so auth sufficient pam_unix.so likeauth nullok try_first_pass auth sufficient pam_winbind.so use_first_pass krb5_auth krb5_ccache_type=FILE auth required pam_deny.so
Edytujemy /etc/pam.d/common-account
account sufficient pam_winbind.so account required pam_unix.so
Edytujemy /etc/pam.d/common-session
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077 session optional pam_ck_connector.so nox11 session required pam_limits.so session required pam_env.so session required pam_unix.so
Możliwe, że w nowszych dystrybucjach będzie trzeba zakomentować pam_ck_connector z powodu zmian w consolekit. U mnie na świeżo zaktualizowanej Gentoo spowodowało to awarię automatycznego montowania. Wygląda na to, że w nowych wersjach Gnome sesja w consolekit jest tworzona za pomocą jego własnych mechanizmów.
Edytujemy /etc/pam.d/common-password
## password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow ## password sufficient pam_winbind.so use_authtok password sufficient pam_winbind.so password required pam_deny.so
Dzięki takiej konfiguracji podczas uwierzytelniania Ubuntu najpierw spróbuje skontaktować się z kontrolerem domeny przez winbind, a następnie spróbuje użyć lokalnych kont. Od teraz będziemy mogli logować się do systemu używając konta domenowego. W tym celu zostanie utworzony katalog domowy, a na czas sesji będzie przechowywany bilet Kerberosa, dający nam dostęp do zasobów sieciowych.
W konsoli sprawdzimy, czy nam się udało, zmieniając aktualnego użytkownika na domenowego
su IvanovSV
Jeśli nic nie wyszło – szukamy błędów w poprzednich krokach. Jeśli wyszło – można zrestartować system i zalogować się do Gnome bezpośrednio swoim kontem domenowym.
Aby dodać konto domenowe do lokalnej grupy (np. audio), edytuj plik /etc/groups i dodaj na końcu wiersza nazwę konta obok odpowiedniej grupy.
Kolejność uruchamiania winbind.
Ponieważ usługa winbind domyślnie startuje przed skonfigurowaniem sieci, pierwsze próby nawiązania połączenia przez winbind z kontrolerem domeny kończą się niepowodzeniem, a winbind wykonuje długą pauzę przed następną próbą. Dlatego użytkownik nie będzie mógł zalogować się od razu, lecz dopiero po kilku minutach oczekiwania. Poprawiamy to, przenosząc uruchamianie winbind na sam koniec procesu rozruchu. W tym celu zmieniamy nazwy dowiązań symbolicznych typu /etc/rcX.d/S20winbind na S99winbind, gdzie X to numer poziomu uruchamiania. Na przykład tak
for i in `seq 2 5`; do mv /etc/rc$i.d/S20winbind /etc/rc$i.d/S99winbind; done;
