Co będzie potrzebne

Lista kroków jakie musimy przejść aby osiągnąć zamierzony cel.

L

1. Instalacja Windows 10 Professional

Co do sprzętu to polecam dowolny komputer klasy PC spełniającym wymogi dla systemu Windows 10. Zalecana jest instalacja systemu na dyskach skonfigurowanych w układzie RAID 1, lecz nie jest to warunek krytyczny. Większość płyt głównych ma możliwość konfiguracji dysków w trybie RAID 1. W przypadku braku kontrolera pracującego w trybie RAID można zastosować zewnętrzny kontroler SATA z możliwością pracy w trybie RAID . Bardzo dobre wyniki osiągniemy na dyskach SSD chociaż nie jest to warunek. Z tradycyjnych dysków mogę polecić serię dysków RED firmy Western Digital (WD)

2. Instalacja środowiska do wirtualizacji HyperV

Windows 10 Professional daje nam możliwość instalacji Hyper-V. Należy pamiętać aby na naszym komputerze nie było zainstalowane środowisko do wirtualizacji takie jak Virtualbox, gdyż mogą się pojawić problemy z uruchomieniem Hyprer-V

3. Uruchomienie środowiska do wirtualizacji Hyper-V

 

Uruchamiamy Menedzera funkcji Hyprer-V

 

4. Konfiguracja maszyny wirtualnej w Hyper-V

 

Pobieramy obraz ISO Debiana ( https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.2.0-amd64-netinst.iso Tworzymy nową maszynę wirtualną. Ustawiamy jako dysk startowy pobrany obraz Debiana.

5. Instalacja Debiana

Instalujemy Debiana. W naszym przypadku główną rolą naszego Linuxa będzie rola kontrolera domeny Windows opartej o usługi katalogowe znane z Windows Server 2008 i nowszych wersi. Rozmiar dysku jaki przeznaczymy dla naszego Linuxa jest zależny od zadań jakie będzie pełnił. Do pracy samego czystego kontrolera wystarczy podstawowa wielkość dysku około 20-30 GB, jeżeli chcemy tworzyć zasoby sieciowe w postaci katalogów na dokumenty wielkość dysku na dla naszego Linuxa powinna być większa powiedzmy 100-200 GB. Oczywiście zasoby sieciowe w postaci udostępnionych katalogów mogą znajdować poza naszą maszyną wirtualną z Linuxem. Możemy je ulokować na dysku Windows 10 Pro w którym instalujemy naszą maszyną wirtualną z Linuxem. To jest kwestia umowna i my decydujemy. Zaczynamy !

Uruchamiamy naszą maszynę wirtualną przechodząc przez poszczególne etapy instalacji. Na tym etapie określamy nazwę naszego Linuxa, podział dysku tu polecam podział na oddzielną partycje /home  

W moim przykładzie podział wygląda tak

Nadajemy nazwę dla naszego Linuxa. Nazwa ta będzie również nazwą naszego kontrolera domeny.

Określamy nazwę naszej domeny.

W następnych krokach ustalamy hasło dla naszego głównego użytkownika root oraz innych użytkowników. Proponuje dodanie konta np. administrator , któremu nadamy potem prawa użytkownika root . Ważne aby przy instalacji nie wybierać żadnych opcji instalacji środowiska graficznego. Zaznaczmy tylko Serwer SSH do zdalnego polaczenia oraz Podstawowe narzędzia systemowe. 

Na koniec wybieramy miejsce instalacji naszego środowiska rozruchowego GRUB dla naszego Linuxa. Wybierając partycję dysku naszej maszyny wirtualnej.

 

6. Konfiguracja wstępna Debiana

Kolejnym krokiem jest uruchomienie kontrolera domeny windows opartym o usługi katalogowe Active Directory. Aktualnie nasz Linux ma ustawioną swoją wirtualną kartę sieciową na wewnętrzny serwer DHCP środowiska  Hyper-V (wirtualny przełącznik  Default Switch) który to nadał naszej wirtualnej karcie sieciowej adres IP z serwera DHCP. Musimy to zmieć tak aby nasza maszyna miała stały adres IP naszej sieci lokalnej. 

W tym celu musimy utworzyć nowy wirtualny przełącznik sieciowy w środowisku Hyper-V  ja mój nazwałem NowyPrzelącznikWirtualny i połączyć go z naszą fizyczną kartą sieciową naszego komputera z opcją sieć zewnętrzna

Przypisujemy naszemu Linuksowi nowo otworzony przełącznik 

Uruchamiamy naszą maszynę poprzez uruchom w panelu administracyjnym. środowiska Hyper-V. Gdy uruchomimy logujemy się na konto root. Przechodzimy do katalogu /etc/network/ używając ulubionego edytora tekstu edytujemy plik interfaces 

nano /etc/network/interfaces

Musimy ustawić stały adres IP. W moim przypadku jest to adres 10.0.0.254, określamy bramę naszej sieci adres naszego routera połączonego z internetem (u mnie to 10.0.0.1) maskę sieci 255.255.255.0  adres naszej sieci u mnie to 10.0.0.0 adres rozgłoszeniowy u mnie to 10.0.0.255  oraz adres serwera DNS 8.8.8.8 i zapisujemy nasz plik.

Ustawienia serwera DNS dla naszego Linuxa zmieniamy jeszcze w pliku /etc/resolv.conf na
nameserver 8.8.8.8 i zapisujemy i robimy test połączenia z internetem wykonując polecenie ping 8.8.8.8 następnie np. ping wp.pl aby sprawdzić poprawność rozpoznawania nazw poprzez zadeklarowany serwer DNS wybrany przez nas ip ( 8.8.8.8). Jeżeli mamy poprawną odpowiedź to znaczy, że nasze połączenia działa.

 ping wp.pl

PING wp.pl (212.77.98.9) 56(84) bytes of data.

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=1 ttl=55 time=28.0 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=2 ttl=55 time=33.4 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=3 ttl=55 time=33.7 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=4 ttl=55 time=30.8 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=5 ttl=55 time=26.3 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=6 ttl=55 time=28.4 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=7 ttl=55 time=27.7 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=8 ttl=55 time=29.4 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=9 ttl=55 time=38.9 ms

64 bytes from www.wp.pl (212.77.98.9): icmp_seq=10 ttl=55 time=29.9 ms

^C

— wp.pl ping statistics —

10 packets transmitted, 10 received, 0% packet loss, time 22ms

rtt min/avg/max/mdev = 26.327/30.652/38.879/3.558 ms 

 

Cała dalszą konfigurację możemy wykonać z konsoli maszyny wirtualnej Hyper-V. Może też połączyć się zdalnie za pomocą protokołu SSH. Przy instalacji Linuxa wybrana była usługa serwera SSH. Połączenia SSH z naszym linuxem za pomocą tego protokołu są bardzo przydatne, jednak nie połączymy się zdalnie korzystając z konta root. Tak więc dodajmy nowe konto użytkownika do naszego Linuxa jeśli nie zrobiliśmy tego podczas instalacji systemu. 

adduser administrator 

Następnie zainstalujemy pakiet sudo 

apt update oraz apt install sudo

Po instalacji wydajemy polecenie visudo i dopisujemy uprawnienia nowo założonemu użytkownikowi

administrator   ALL=(ALL:ALL) ALL 

Teraz możemy zdalnie połączyć się z naszym linuxem korzystając z konta administrator, łącząc z klienta ssh np. z innego linuxa w moim przypadku piszemy ssh administrator@10.0.0.254 Możemy też skorzystać z konsoli cmd lub powershell w Windows 10 Pro. wpisując  ssh administrator@10.0.0.254 lub z klienta ssh takiego jak putty. Po zalogowaniu poprzez ssh korzystając ze zwykłego konta użytkownika w moim przypadku to konto administrator wpsujemy komendę sudo su wpisując dalej hasło przypisane do konta administrator dostajemy uprawnienia konta root.

7. Instalacja Samby

kolejnym krokiem będzie instalacja samby , winbind i kerberos

apt install samba  winbind krb5-user  

W kolejnym kroku edytujemy plik /etc/fstab dla naszych partcji / oraz /home

ext4 errors=remount-ro,user_xattr,acl,barrier=1 1 1

Jest to potrzebne aby nasz Linux wzbogacił się o obsługę dostępu ACL( Access Control List ) stosowany systemie Windows. https://www.geeksforgeeks.org/access-control-listsacl-linux/

Po dodaniu musimy przeładować naszego Linuxa.

8. Konfiguracja Samby

Przed konfiguracją musimy usunąć pierwotny plik konfiguracyjny samby 

rm -v /etc/samba/smb.conf

Do pliku /etc/hosts dodajemy nazwę naszej domeny i hosta  do naszego adresu IP 10.0.0.254

10.0.0.25  debian.naszaszkola.local  debian

W kolejnym kroku będziemy promować naszą domenę naszaszkola.local 

samba-tool domain provision –use-rfc2307 –interactive

Teraz musimy odpowiedzieć na kilka pytań potwierdzając wybór. Jako serwer DNS wybieramy wewnętrzny serwer samby (SAMBA_ITERNAL. Oto listing jaki dostałem.

root@debian:/home/administrator# samba-tool domain provision –use-rfc2307 –interactive

Realm [NASZASZKOLA.LOCAL]:

Domain [NASZASZKOLA]:

Server Role (dc, member, standalone) [dc]:

DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:

DNS forwarder IP address (write 'none’ to disable forwarding) [8.8.8.8]:

Administrator password:

Retype password:

INFO 2022-03-02 15:20:37,771 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2122: Looking up IPv4 addresses

INFO 2022-03-02 15:20:37,771 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2139: Looking up IPv6 addresses

WARNING 2022-03-02 15:20:37,772 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2146: No IPv6 address will be assigned

INFO 2022-03-02 15:20:38,100 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2290: Setting up share.ldb

INFO 2022-03-02 15:20:38,154 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2294: Setting up secrets.ldb

INFO 2022-03-02 15:20:38,184 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2299: Setting up the registry

INFO 2022-03-02 15:20:38,373 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2302: Setting up the privileges database

INFO 2022-03-02 15:20:38,418 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2305: Setting up idmap db

INFO 2022-03-02 15:20:38,463 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2312: Setting up SAM db

INFO 2022-03-02 15:20:38,472 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #897: Setting up sam.ldb partitions and settings

INFO 2022-03-02 15:20:38,474 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #909: Setting up sam.ldb rootDSE

INFO 2022-03-02 15:20:38,483 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1322: Pre-loading the Samba 4 and AD schema

Unable to determine the DomainSID, can not enforce uniqueness constraint on local domainSIDs

INFO 2022-03-02 15:20:38,535 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1400: Adding DomainDN: DC=naszaszkola,DC=local

INFO 2022-03-02 15:20:38,558 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1432: Adding configuration container

INFO 2022-03-02 15:20:38,582 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1447: Setting up sam.ldb schema

INFO 2022-03-02 15:20:42,286 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1465: Setting up sam.ldb configuration data

INFO 2022-03-02 15:20:42,444 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1506: Setting up display specifiers

INFO 2022-03-02 15:20:44,948 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1514: Modifying display specifiers and extended rights

INFO 2022-03-02 15:20:44,994 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1521: Adding users container

INFO 2022-03-02 15:20:44,998 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1527: Modifying users container

INFO 2022-03-02 15:20:45,001 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1530: Adding computers container

INFO 2022-03-02 15:20:45,005 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1536: Modifying computers container

INFO 2022-03-02 15:20:45,007 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #1540: Setting up sam.ldb data

Repacking database from v1 to v2 format (first record CN=Connection-Point,CN=Schema,CN=Configuration,DC=naszaszkola,DC=local)

Repack: re-packed 10000 records so far

Repacking database from v1 to v2 format (first record CN=mSMQMigratedUser-Display,CN=414,CN=DisplaySpecifiers,CN=Configuration,DC=naszaszkola,DC=local)

Repacking database from v1 to v2 format (first record CN=Machine,CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=naszaszkola,DC=local)

INFO 2022-03-02 15:20:47,392 pid:2097 /usr/lib/python3/dist-packages/samba/provision/sambadns.py #1143: Adding DNS accounts

INFO 2022-03-02 15:20:47,424 pid:2097 /usr/lib/python3/dist-packages/samba/provision/sambadns.py #1177: Creating CN=MicrosoftDNS,CN=System,DC=naszaszkola,DC=local

INFO 2022-03-02 15:20:47,447 pid:2097 /usr/lib/python3/dist-packages/samba/provision/sambadns.py #1190: Creating DomainDnsZones and ForestDnsZones partitions

INFO 2022-03-02 15:20:47,507 pid:2097 /usr/lib/python3/dist-packages/samba/provision/sambadns.py #1195: Populating DomainDnsZones and ForestDnsZones partitions

Repacking database from v1 to v2 format (first record DC=_msdcs,DC=naszaszkola.local,CN=MicrosoftDNS,DC=DomainDnsZones,DC=naszaszkola,DC=local)

Repacking database from v1 to v2 format (first record DC=_kerberos._tcp.dc,DC=_msdcs.naszaszkola.local,CN=MicrosoftDNS,DC=ForestDnsZones,DC=naszaszkola,DC=local)

INFO 2022-03-02 15:20:47,754 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2026: Setting up sam.ldb rootDSE marking as synchronized

INFO 2022-03-02 15:20:47,760 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2031: Fixing provision GUIDs

INFO 2022-03-02 15:20:48,597 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2364: A Kerberos configuration suitable for Samba AD has been generated at /var/lib/samba/private/krb5.conf

INFO 2022-03-02 15:20:48,597 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2366: Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!

INFO 2022-03-02 15:20:48,666 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #2096: Setting up fake yp server settings

INFO 2022-03-02 15:20:48,753 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #489: Once the above files are installed, your Samba AD server will be ready to use

INFO 2022-03-02 15:20:48,753 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #494: Server Role:           active directory domain controller

INFO 2022-03-02 15:20:48,754 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #495: Hostname:              debian

INFO 2022-03-02 15:20:48,754 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #496: NetBIOS Domain:        NASZASZKOLA

INFO 2022-03-02 15:20:48,755 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #497: DNS Domain:            naszaszkola.local

INFO 2022-03-02 15:20:48,757 pid:2097 /usr/lib/python3/dist-packages/samba/provision/__init__.py #498: DOMAIN SID:            S-1-5-21-2214557902-479307615-3503785356


9. Konfiguracja Samby

Teraz kopiujemy plik krb5.conf do kalatlogu /etc

cp /var/lib/samba/private/krb5.conf /etc

Oraz uruchamiamy usługi

systemctl stop smbd nmbd winbind

systemctl disable smbd nmbd winbind

systemctl mask smbd nmbd winbind

systemctl unmask samba-ad-dc

systemctl enable samba-ad-dc

 systemctl restart samba-ad-dc

systemctl status samba-ad-dc

samba-ad-dc.service – Samba AD Daemon

   Loaded: loaded (/lib/systemd/system/samba-ad-dc.service; enabled; vendor preset: enabled)

   Active: active (running) since Thu 2022-03-03 21:17:12 CET; 1 weeks 2 days ago

     Docs: man:samba(8)pi# 

           man:samba(7)pi# 

           man:smb.conf(5) 

 Main PID: 508 (samba)/pi# 

   Status: „smbd: ready to serve connections…”

    Tasks: 24 (limit: 3720)

   CGroup: /system.slice/samba-ad-dc.service

           ├─  508 samba: root process

           ├─  842 samba: task[s3fs_parent]

           ├─  843 samba: task[dcesrv]

           ├─  844 samba: tfork waiter process

           ├─  845 samba: task[nbt]

           ├─  846 /usr/sbin/smbd -D –option=server role check:inhibit=yes –foreground

           ├─  847 samba: task[wrepl]

           ├─  848 samba: task[ldapsrv]

           ├─  849 samba: task[cldap]

           ├─  850 samba: task[kdc]

           ├─  851 samba: task[dreplsrv]

           ├─  852 samba: task[winbindd_parent]

           ├─  854 samba: task[ntp_signd]

           ├─  856 samba: task[kccsrv]

           ├─  858 samba: task[dnsupdate]

           ├─  859 samba: tfork waiter process

           ├─  860 samba: conn[dns_tcp] c[ipv4:10.0.6.106:49709] s[ipv4:10.0.6.10:53] server_id[860.41]

           ├─  861 /usr/sbin/winbindd -D –option=server role check:inhibit=yes –foreground

           ├─ 1111 /usr/sbin/smbd -D –option=server role check:inhibit=yes –foreground

           ├─ 1173 /usr/sbin/smbd -D –option=server role check:inhibit=yes –foreground

           ├─ 1531 /usr/sbin/smbd -D –option=server role check:inhibit=yes –foreground

           ├─25445 /usr/sbin/smbd -D –option=server role check:inhibit=yes –foreground

           ├─31425 winbindd: domain child [BUILTIN]

           └─31426 winbindd: idmap child

Nowo wygenerowany plik smb.conf powinien wyglądać podobnie do tego: /etc/samba/smb.conf.  W tym przykładzie dodane zostały jeszcze trzy zasoby [profiles] [project] [public]. Po utworzeniu katalogów na naszej partycji /home należy zmienić uprawnienia do tych katalogów dla grupy users 

chgrp -R users /home/samba oraz chgrp -R users /var/lib/samba/sysvol

 

# Global parameters

[global]

        dns forwarder = 8.8.8.8

        netbios name = DEBIAN

        realm = NASZASZKOLA.LOCAL

        server role = active directory domain controller

        workgroup = NASZASZKOLA

        idmap_ldb:use rfc2307 = yes

 

[netlogon]

        path = /var/lib/samba/sysvol/naszaszkola.local/scripts

        read only = No

 

[sysvol]

        path = /var/lib/samba/sysvol

        read only = No

 

 

 

# Polskie znaki w sambie

        unix charset = UTF8

#       display charset = UTF8

        dos charset = 852

 

 

[profiles]

   directory_mode: parameter = 0700

   read only = no

   path = /home/samba/profiles

   csc policy = documents

 

 

[project]

   directory_mode: parameter = 0700

   read only = no

   path = /home/samba/project

   csc policy = documents

 

[public]

   directory_mode: parameter = 0700

   read only = no

   path = /home/samba/public

   csc policy = documents

Po uruchomieniu samby zmieniamy również nasz kolejność wyszukiwania serwerów DNS dla naszego linuxa w pliku /etc/resolv.conf

domain naszaszkola.local

nameserver 10.0.0.254

nameserver 1.1.1.1

 

Proszę również sprawdzić konfigurację pliku /etc/network/interfaces sekcja DNS według schematu poniżej 

Na stronie projektu samby możemy wykonać testy poprawności działania. 

https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller

10. podłączenie Windows 10 Pro. do kontrolera domeny

Aby podłączyć się do kontrolera domeny warunkiem koniecznym jest prawidłowa konfiguracja połączenia sieciowego. Adres IP serwera DNS naszego komputera z Windows 10 Pro. powinien być ustawiony na adres IP naszego kontrolera domeny utworzonego na Linuxsie. W tym przypadku będzie to adres IP 10.0.0.254 Teraz wchodzimy do panelu sterowania, system , właściwości systemu, członkostwo, domena i podjemy nazwę naszej domeny w tym przypadku będzie to naszaszkola  zatwierdzamy OK,  podajemy nazwę login  administratora domenowego  oraz  hasło podane podczas promowania domeny w sambie.  

Potwierdzamy OK i uruchamiamy komputer w Windows 10 Pro ponownie. Po uruchomieniu nasz komputer jest już podłączony do domeny naszaszkola.local. Teraz logujemy się na Windows 10 Pro na konto adminstratora domeny wpisując jako login administrator@naszaszkola i hasło wpisane podczas promowania domeny. Po zalogowaniu  instalujemy na Windows 10 Pro paczkę do zdalnego administrowania naszą domeną.

 

11. Administracja kontrolerem domeny  przykłady użycia

Po instalacji paczki dostajemy zestaw narzędzi administracyjnych do zarządzania domeną. Aby z nich skorzystać należy się zalogować do Windows 10 Pro. jako administrator domeny tu będzie to: naszaszkola\administrator i utworzone hasło wpisane podczas promowania domeny w Linuxie. Możemy tutaj dodawać użytkowników, tworzyć jednostki organizacyjne, zasady grupy GPO itd. To wszytko co robimy w przypadku klasycznego Windows Server 2008 i nowszych. Aby udostępnić w sieci zasób plikowy, który to  utworzyliśmy podczas konfiguracji samby np [public] należy w otoczeniu sieciowym odszukać nazwę naszego serwera np poprzez ikonę startu Windows prawym przyciskiem myszy wybieramy uruchom tam wpisujemy w tym przypadku\\debian Ukarze  nam się lista udostępnionych katalogów, klikając prawym przyciskiem na katalogu dajemy właściwości, zabezpieczenia i zmieniamy dostępy według uznania nadając prawa zapisu lub tylko odczytu do grup lub użytkowników.

Po zamianie uprawnień do katalogów sieciowych po wypisani takiego katalogu komendą ls -l w linuksie przy przy prawach dostępu do katalogu pojawi się plus „+” oznacza to, że dodatkowo do katalogu dodatkowe uprawnienia ACL stosowane w Windows. 

Tak jak pisałem wcześniej katalogi w sieci możemy udostępnić również na Windows 10 Pro wykorzystując uprawnienia z naszego kontrolera domeny. Należy jednak pamiętać ze zmienia się wtedy nazwa naszego komputera, który udostępnia nam zasoby w sieci. Może to być np. komputer na którym uruchomiliśmy naszą maszynę wirtualną z linuxem pracującym jako nasz kontroler domeny.

Tutaj widzimy katalog z narzędziami do zarządzania naszą pod Windows

Kontroler domeny oczywiście nie musimy instalować w maszynie wirtualnej tylko na osobnym dedykowanym komputerze, a zarządzać na każdym komputerze z Windows 10 Pro. z zainstalowaną paczką administracji  https://www.microsoft.com/en-us/download/details.aspx?id=45520 lub z linku, który podałem wcześniej. Istnieją również narzędzia pod linuxa do zarządzania naszym kontrolerem takie jak pdedit 

Remote Server Administration Tools for Windows 10