Samba Freigabe auf dem DC

Normalerweise sollte man keine zusätzliche Freigaben, außer die Freigaben die schon standardmäßig definiert sind, auf dem Domänen Controller anlegen. Die Shares (Freigaben) sollte man auf einem anderem Server definieren. Die Shares kann man z.B. auf Samba als Mitglied der Domäne definieren. Das beschreibe ich in einem anderem Artikel.
Der Domänen Controller sollte man immer klein halten. Außerdem kann man auf dem DC andere Dienste installieren wie z.B. DHCP, Radius etc.

Für kleine Firmen bzw. für Testzwecken definieren wir die Shares auf dem schon erstelltem DC

Ausgangsinformationen:

Betriebssystem: Debian 11
Servername: dc1
Domäne: firma.lan
IP-Adresse: 192.168.15.10
Maske: 255.255.255.0
DNS: 8.8.8.8
Gateway: 192.168.15.1


Der vorhandene Inhalt der /etc/samba/smb.conf Datei dem Domänen Controller

# Global parameters
[global]
     dns forwarder = 8.8.8.8
     netbios name = DC1
     realm = FIRMA.LAN
     server role = active directory domain controller
     workgroup = FIRMA
     idmap_ldb:use rfc2307 = yes
     # Dieser Parameter wird für die Client Radius Authentifizierung gebraucht.
     ntlm auth = yes

 
[sysvol] path = /var/lib/samba/sysvol
     read only = No
 
[netlogon] path = /var/lib/samba/sysvol/firma.lan/scripts
     read only = No

 

Wenn wir uns entscheiden, die Shares auf dem DC zu machen (nur bei kleinen Firmen), sollten wir auf jeden Fall die Shares auf einer weiteren Festplatte definieren. Bei VMs ist das kein großes Problem. Nach der Partitionierung und Formatierung der Festplatte, können wir es z.B. in /data mounten.

Bei mittelständischen und größeren Firmen sollte wir einen Fileserver aufsetzen. Mehr Informationen finden Sie im Artikel Fileserver-fs1.

Wir erweitern die /etc/samba/smb.conf um folgende Einträge. Der Share [data] ist nur temporär. Im späteren Zeitpunkt werden wir es den Bereich kommentieren. Den [data] Share brauchen wir um uns die Arbeit für die Vorbereitung der anderen Shares zu erleichtern. Hier geht es vor allem um das Setzen der Berechtigungen unter Windows. 

[data]
    comment =
    path = /data
    read only = No

[home]
   comment = Home Directories
    path = /data/home
    read only = No
    browseable = Yes

[Profiles]
    comment = Profiles Directories
    path = /data/profiles
    read only = No
    browseable = Yes

[Einkauf]
    comment = Einkauf
    path = /data/einkauf
    read only = No


[Vertrieb]
    comment =Vertieb
    path = /data/vertrieb
    read only = No


Samba Dienst wird neu gestartet.

root@dc1:/# systemctl restart samba-ad-dc.service


Wie man sieht, werden die Shares ganz einfach definiert. Nun ja, wir brauchen allerdings verschieden Berechtigungen für die Shares. Wir können die Berechtigungen der Ordner in der Linux shell setzten, das ist allerdings sehr umständlich, oder wir können aber auch die Berechtigungen auf einfacher weise in Windows setzen.

Jetzt logen wir uns als Administrator auf einem Windows Rechner ein, der schon in der Domäne ist. Wir starten Windows Explorer und in der Adressleiste schreiben wir \\dc1. Jetzt werden alle Shares auf dem dc1 gezeigt. Auf home, Profiles, Einkauf und Vertrieb haben wir noch kein Zugriff.
Wir gehen auf das Share data und darunter erstellen wir die benötigte Ordner home, profiles, einkauf und vertrieb. In unserem Fall muss es klein geschrieben werden, weil in der /etc/samba/smb.conf unter path = ist es auch klein geschrieben. 

Danach mit der rechten Maustaste auf \\dc1\data\home und auf "Eigenschaften", auf den Reiter "Sicherheit" und auf die Schaltfläche "Erweitert" und dann deaktivieren wir die Vererbung. Die Gruppe "Domain Admins" wird zugefügt und der Gruppe geben wir volle Zugriffsrechte. Die andere Benutzer bzw. Gruppen werden entfernt. 

Das gleiche wiederholen wir für die Ordner profiles, vertrieb und einkauf. Ab jetzt können alle Domänen Admins auf die Shares (Freigaben) zugreifen.

Berechtigungen der Freigaben

 

Ab jetzt haben die Domain Admins den Zugriff auf die Shares "home", "Profiles", "Einkauf" und "Verrieb". Den Share "data" können wir jetzt auf dem Domänen Controller entfernen. Es reicht, wenn wir in der /etc/samba/smb.conf den Share "data" kommentieren und samba neu starten.
Die Option browseable = Yes bei "home" und "Profiles" können wir noch so lassen. Erst nach dem Abschluss der Rechtevergabe können wir auf browseable = No umstellen. Damit werden die zwei Shares nicht mehr sichtbar.

#[data]
#    comment =
#    path = /data
#    read only = No

[home]
    comment = Home Directories
    path = /data/home
    read only = No
    browseable = No

[Profiles]
    comment = Profiles Directories
    path = /data/profiles
    read only = No
    browseable = No

[Einkauf]
    comment = Einkauf
    path = /data/einkauf
    read only = No


[Vertrieb]
    comment =Vertieb
    path = /data/vertrieb
    read only = No


Samba Dienst wird neu gestartet.

root@dc1:/# systemctl restart samba-ad-dc.service

 

Die Arbeiten auf der Linux Maschine, wenn es um Samba geht, ist für uns beendet. Das was wir noch machen müssen, ist das Setzen der entsprechenden Berechtigungen für die Shares für die Mitarbeiter. Für die Shares "Einkauf" und "Vertrieb" ist die Sache ziemlich einfach. Wir können in Active Directory auf einem Windows PC der sich schon in der Domäne befindet, z.B. zwei Gruppen erstellen z.B. GG-Einkauf und GG-Vertrieb. In die Gruppen können wir die Mitarbeiter einfügen für in die Shares Zugriff haben sollen.

Wir sind immer noch als Domain Admin angemeldet. Es wird Windows Explorer gestartet und in der Adressleiste schreiben wir \\dc1. Es werden jetzt alles Shares aufgelistet. 

Berechtigungen für Einkauf setzten. 

Berechtigungen für Vertrieb setzten.

Nun ja, die Shares "home" und "Profiles" haben andere Funktion, die müssen für alle Mitarbeiter verfügbar sein. Jeder Mitarbeiter bekommt eigenen Bereich und nur dieser Mitarbeiter hat Zugriff auf die eigene Dateien.

Beschäftigen wir uns zuerst mit dem Share "home".
Alle Domänen Benutzer bekommen Lesezugriff auf die Shares "home", aber die Rechte dürfen nicht vererbt werden.

  • Wir starten wie immer Windows Explorer und in der Adressleiste schreiben wir \\dc1. Das bestätigen wir mit Eingabetaste.
  • Wir gehen auf "home" und dann mit der rechten Maustaste auf "Eigenschaften"->"Sicherheit". Die Gruppe "Domain Users" wird zugefügt. Diese Gruppe bekommt nur Leseberechtigung. 

Das ist noch nicht alles. Wenn wir es so lassen würden, dann könnte jeder von jedem Daten lesen. Deshalb werden die Berechtigung noch angepasst. Die "Domain Users" dürfen nur diesen Ordner lesen. 
Wir gehen auf "Erweitert" und markieren die Gruppe "Domain Users".

Danach klicken wir auf "Bearbeiten" und wir ändern "Anwenden auf:" auf "Nur diesen Ordner". Die Fenster Schließen wir in dem wir auf "OK" klicken.

Danach hat die Gruppe "Domain Users" nur noch "Spezielle Berechtigungen".

Erst jetzt kann man bei den Domänen Benutzer in AD das Home Netz-Laufwerk auswählen und den Pfad eintragen. Wir können hier eine Variable %USERNAME% nutzen um Tippfehler zu vermeiden. %USERNAME% wird durch den aktuellen bearbeitenden Benutzer Loginnamen ersetzt.  
Der Ordner für das Home-Laufwerk wird bei der Erstellung des Benutzers angelegt.

Berechtigungen für den Share Profiles.
Das setzten der Berechtigungen für diesen Share ist ein bisschen aufwendigen. Der Ordner für das Profil des Benutzers wird erst angelegt, wenn sich der Benutzer anmeldet.
Übersicht der Berechtigungen

Berechtigungen für Share Profiles
ERSTELLER-BESITZER
Vollzugriff
Nur Unterordner und Dateien

 

SYSTEM
Vollzugriff
Dieser Ordner, die Unterordner und Dateien
Domain Admins
Vollzugriff
Dieser Ordner, die Unterordner und Dateien
Domain Users
Ordner auflisten/Daten lesen 
(Erweiterte Berechtigungen)
Ordner erstellen/Daten anfügen
Nur dieser Ordner

ERSTELLER-BESITZER Zugriffsberechtigung auf das Share "Profiles"

SYSTEM und Domain Admins bekommen volle Zugriffsrechte.


Die Zugriffsberechtigung für Domain Users müssen wir anpassen

Grundlegende Berechtigungen

Erweiterte Berechtigungen.

Als letztes können wir, wenn wir so ein Bedarf haben, in den Benutzer Einstellungen den Pfad für Server Profil eintragen.