Crmgo Blog

ubuntu. Próba dołączenia do domeny 4

ubuntu. Próba dołączenia do domeny 4

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: Ustawienia dla WINS będą dalej, w pliku /etc/samba/smb.conf. Konfigurujemy synchronizację czasu z kontrolerem domeny.…

ubuntu. Próba dołączenia do domeny 4

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;

Uwaga: wpis mógł powstać z pomocą AI i redakcji. Odpowiedzialny: Dmytro Lomaka, Kaltenkirchen.