Anpassung aller Samba-Dokumente als Projekt
ADDC als Bonus
This commit is contained in:
110
mkdocs/docs/bonus/linux-als-ad-client.md
Normal file
110
mkdocs/docs/bonus/linux-als-ad-client.md
Normal file
@@ -0,0 +1,110 @@
|
||||
Ein Ubuntu Desktop-System lässt sich auch in eine Domäne einbinden.
|
||||
Falls Sie sich fragen, wozu man Linux an ein Windows-Netzwerk anbinden
|
||||
soll, ist einfach erklärt: Egal an welchen Computer Sie gehen, sei es
|
||||
Linux oder Windows, Sie melden Sich mit ihren Benutzerdaten an und
|
||||
erhalten auch ggf. die Administrationsrechte um Auf dem System Schalten
|
||||
und Walten zu können, wie sie möchten. Im Augenblick sind Rechtevergaben
|
||||
nur für Gruppen pro System anzuwenden, somit können Administratoren
|
||||
Programme Installieren. Wenn Gruppenrichtlinien genutzt werden sollen,
|
||||
müssen Sie Kostenpflichtige Tools wie Centrify DirectControl oder Ubuntu
|
||||
Pro nutzen.
|
||||
|
||||
## Voraussetzungen prüfen
|
||||
* Ubuntu ist installiert und einsatzbereit
|
||||
* Netzwerkverbindung zum AD-Controller funktioniert
|
||||
* DNS-Auflösung auf die Domäne und den AD-Controller ist sichergestellt
|
||||
* Systemuhr ist synchron (z.B. via NTP)
|
||||
* Ein AD-Benutzerkonto mit Join-Rechten ist vorhanden
|
||||
## System aktualisieren
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
```
|
||||
## Notwendige Pakete installieren
|
||||
|
||||
```bash
|
||||
sudo apt install -y realmd sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit libnss-sss libpam-sss krb5-user sssd-krb5
|
||||
```
|
||||
|
||||
## Hostname setzen (FQDN)
|
||||
|
||||
Passe den Hostnamen an das AD-Schema an (z.B. rechnername.deinedomäne.de):
|
||||
|
||||
```bash
|
||||
sudo hostnamectl set-hostname vbox.tnXX.ito
|
||||
```
|
||||
## Kerberos konfigurieren
|
||||
|
||||
Bearbeite die Datei ```/etc/krb5.conf``` und passe die Domain an:
|
||||
|
||||
```ini
|
||||
[libdefaults]
|
||||
udp_preference_limit = 0
|
||||
default_realm = TNXX.ITO
|
||||
rdns = false
|
||||
```
|
||||
>*Hinweis: Domänenname in Großbuchstaben eintragen*
|
||||
|
||||
## Funktionstest: Domäne entdecken
|
||||
|
||||
```bash
|
||||
realm discover tnXX.ito
|
||||
```
|
||||
>Ergebnis prüfen: Die Domäne sollte mit Typ „active-directory" angezeigt werden.
|
||||
|
||||
## Kerberos-Ticket holen
|
||||
|
||||
```bash
|
||||
kinit deinbenutzername
|
||||
```
|
||||
>Passwort eingeben (AD-Benutzer mit Join-Rechten).
|
||||
|
||||
## System der Domäne beitreten
|
||||
|
||||
```bash
|
||||
sudo realm join -v -U deinbenutzername TNXX.ITO
|
||||
```
|
||||
>Passwort eingeben, wenn abgefragt.
|
||||
|
||||
## Home-Verzeichnisse für AD-Benutzer automatisch erstellen
|
||||
|
||||
```bash
|
||||
sudo pam-auth-update
|
||||
```
|
||||
„Create home directory on login" aktivieren falls deaktiviert und mit OK
|
||||
bestätigen.
|
||||
|
||||
## Funktionstest: AD-Benutzer auflisten
|
||||
|
||||
```bash
|
||||
id benutzer@TNXX.ITO
|
||||
```
|
||||
> Wenn die Benutzerinformationen angezeigt werden, war der Join erfolgreich.
|
||||
|
||||
## (Optional) Sudo-Rechte für AD-Gruppen vergeben
|
||||
|
||||
Datei anlegen:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/sudoers.d/adadmins
|
||||
```
|
||||
Eintragen (Beispiel):
|
||||
|
||||
```sudoers
|
||||
%administratoren@TNXX.ITO ALL=(ALL) NOPASSWD:ALL
|
||||
```
|
||||
**Kontrollfragen**
|
||||
|
||||
1. Welche Pakete sind für den AD-Join notwendig?
|
||||
2. Wie prüfen Sie, ob die Domäne erreichbar ist?
|
||||
3. Wie testen Sie, ob ein AD-Benutzer korrekt erkannt wird?
|
||||
4. Warum ist die DNS-Konfiguration so wichtig für den AD-Join?
|
||||
|
||||
|
||||
**Hinweis:**\
|
||||
Bei Fehlern prüfen Sie die Logdateien (/var/log/sssd/, /var/log/auth.log,
|
||||
/var/log/syslog) und die Netzwerkkonfiguration.
|
||||
|
||||
|
||||
|
||||
[PDF herunterladen](linux-als-ad-client.pdf){ .md-button }
|
||||
508
mkdocs/docs/bonus/linux-als-ad-server.md
Normal file
508
mkdocs/docs/bonus/linux-als-ad-server.md
Normal file
@@ -0,0 +1,508 @@
|
||||
# Installation Ubuntu Server 24.04 LTS
|
||||
|
||||
Die Installation des Ubuntu Servers Erfolgt in Virtualbox. Achten Sie
|
||||
bei der Einrichtung der VM darauf, dass die unbeaufsichtigte
|
||||
Installation nicht durchgeführt wird, da einzelne Schritte relevant
|
||||
sind.
|
||||
|
||||
Beim Bootvorgang wählen Sie „Try or Install" um das Setup zu starten.
|
||||
Wählen Sie im nächsten Schritt Deutsch als Installations- und
|
||||
Systemsprache. Bei Der Wahl der Tastatur setzen Sie ebenfalls auf German
|
||||
und German.
|
||||
|
||||
Die Installationsart sollte Standard sein. Minimal führt dazu, dass
|
||||
viele „übliche" Programme wie `PING` nicht installiert werden.
|
||||
Üblicherweise benötigen Sie den unteren teil der Third-Party-Driver
|
||||
nicht, wenn Sie nicht auf echter Hardware arbeiten. Hier werden dann
|
||||
RAID-Controller oder WLAN-Karten ergänzt.
|
||||
|
||||
Die Netzwerkkonfiguration belassen wir auf DHCP, da später die
|
||||
Konfigurationsdatei manuell angepasst werden soll. Üblicherweise würde
|
||||
aber hier eine feste IP für einen Server vergeben werden, wobei darauf
|
||||
zu achten ist, die Subnetzmaske als CIDR anzuhängen. Proxy bleibt leer.
|
||||
|
||||
Nach der Bestätigung der Netzwerkkonfiguration testet der Server
|
||||
automatisch den schnellsten/nächsten Updateserver.
|
||||
|
||||
Die Festplattenpartitionierung kann auf Default belassen werden. Die
|
||||
Verwendung von LVM ist mittlerweile Standard. LVM steht für Logical
|
||||
Volume Manager und ist eine Variante Software-RAID um auch nachträglich
|
||||
Erweiterungen oder Redundanzen hinzuzufügen. Bestätigen Sie ihre Wahl.
|
||||
|
||||
Setzen Sie Ihren user-account und ihren Hostname dc1.
|
||||
|
||||
Im nächsten Schritt können Sie sich für Ubuntu Pro anmelden, einen
|
||||
Dienst, welcher ihnen erweiterten Support und Features wie
|
||||
Kernel-Live-Patches und längeren Support.
|
||||
|
||||
Aktivieren Sie auf jeden Fall die Installation des openSSH-Servers.
|
||||
Unten könnten Sie SSH-Keys aus z.B. github importieren, um sie später
|
||||
ohne Passwort per SSH auf den Server zu verbinden.
|
||||
|
||||
Die nachfolgenden Features sind „snaps" von Ubuntu und sollen im Rahmen
|
||||
der Meisterausbildung nicht genutzt werden, da diese nicht auf
|
||||
„Nicht-Ubuntu" Systemen funktionieren. Hierbei handelt es sich um
|
||||
vorkonfektionierte Programmpakete.
|
||||
|
||||
Nun läuft die Installation durch. Am Ende steht nichts im Log, sondern
|
||||
darunter entsteht ein Button zum Neustarten des Systems.
|
||||
|
||||
Denken Sie nach dem Neustart daran, dass Sie innerhalb des etz wieder den Cache-Server verwenden:
|
||||
```bash
|
||||
echo 'Acquire::http::Proxy "http://10.10.224.119:3142";' | sudo tee /etc/apt/apt.conf.d/02proxy
|
||||
```
|
||||
\newpage
|
||||
## Ein Linux-Server als Active Directory Domain Controller
|
||||
|
||||
Ein Linux-Server der Active Directory beherrscht, ist eine Möglichkeit,
|
||||
um auf den Einsatz eines MS-Servers zu verzichten. Es existieren ein
|
||||
paar Einschränkungen aber das Projekt Samba ist im stetigen Wachstum und
|
||||
entwickelt immer neue Funktionen hinzu. In dieser Arbeitsanweisung
|
||||
werden Sie einen Samba4 Active Directory Server installieren und im
|
||||
Anschluss Diesen mit den MS-Remote Server Administration Tools
|
||||
verwalten. Die Funktionalität dieses Servers enthält: DNS, Kerberos,
|
||||
Benutzer und Gruppen, Netzlaufwerke und Gruppenrichtlinien.
|
||||
|
||||
Vorgaben die in dieser Anleitung genutzt werden.
|
||||
```conf
|
||||
DNS-Server:
|
||||
Name: dc1.tnXX.ito
|
||||
Server Type: Authoritative.
|
||||
Forward Lookup Zone: tnXX.ito
|
||||
Reverse Lookup Zone: 2XX.168.192.in-addr.arpa.
|
||||
|
||||
DC-Server
|
||||
AD DC Hostname: DC1
|
||||
AD DNS Domain Name: tnXX.ito
|
||||
Kerberos Realm: tnXX.ito
|
||||
NT4 Domain Name: tnXX
|
||||
IP Adresse 192.168.2XX.250
|
||||
Server Role: Domain Controller
|
||||
DNS Forwarder: 192.168.2XX.1
|
||||
|
||||
DHCP Server
|
||||
Subnet: 192.168.2XX.0 255.255.255.0
|
||||
Range: 192.168.2XX.100 192.168.2XX.200
|
||||
```
|
||||
|
||||
\newpage
|
||||
|
||||
## Einrichtung der festen IP inklusive DNS-Anpassung
|
||||
|
||||
In der aktuellen Version von Ubuntu Server wird bei der
|
||||
Netzwerkkonfiguration auf netplan gesetzt. Hierbei wird eine .yaml Datei
|
||||
angelegt, welche in der MAAS-Installation (Cloud-Config) automatisch dem
|
||||
Rechner zugewiesen würde.
|
||||
|
||||
Als erstes legen wir eine neue Datei an:
|
||||
```shellscript
|
||||
sudo nano /etc/netplan/01-tnXX-netz.yaml
|
||||
```
|
||||
```yaml
|
||||
# This file describes the network interfaces available on your system
|
||||
# For more information, see netplan(5).
|
||||
network:
|
||||
ethernets:
|
||||
enp0s3:
|
||||
addresses: [192.168.2XX.250/24]
|
||||
routes:
|
||||
- to: 0.0.0.0/0
|
||||
via: 192.168.2XX.1
|
||||
dhcp4: no
|
||||
nameservers:
|
||||
addresses: \[192.168.2.XX.250,1.1.1.1\]
|
||||
search: \[tnXX.ito\]
|
||||
optional: true
|
||||
version: 2
|
||||
```
|
||||
Die Anpassung des Hostnamen wurde auch kompatibel mit der Cloud-Config
|
||||
gemacht daher neuer Vorgehensweise:
|
||||
```shellscript
|
||||
sudo hostnamectl set-hostname dc1
|
||||
sudo nano /etc/cloud/cloud.cfg
|
||||
```
|
||||
```shellscript
|
||||
preserve_hostname: true # Erhält den Hostnamen nach dem Neustart
|
||||
```
|
||||
Erweitern der Hosts-Datei:
|
||||
```shellscript
|
||||
sudo nano /etc/hosts
|
||||
```
|
||||
```config
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 dc1.tnXX.ito dc1
|
||||
```
|
||||
Einagben Überprüfen:
|
||||
```shellscript
|
||||
sudo hostname
|
||||
sudo nslookup dc1
|
||||
```
|
||||
Beides sollte den oberen Eingaben entsprechen.
|
||||
|
||||
## Installation der benötigten Komponenten
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install samba samba-dsdb-modules samba-vfs-modules krb5-config winbind libpam-winbind libnss-winbind acl dnsutils chrony isc-dhcp-server krb5-user smbclient
|
||||
```
|
||||
Während der Installation werden Sie nach dem Realm für Kerberos gefragt:
|
||||
```INI
|
||||
Realm = MKXX.ITO (Alles groß schreiben)
|
||||
Server = DC1.MKXX.ITO
|
||||
Administrator Server = DC1.MKXX.ITO
|
||||
```
|
||||
## Linux fit für ACL
|
||||
|
||||
Um mit Samba auch die vollen Windows ACL und Benutzer-Attribute zu unterstützen müssen diese ebenfalls im ext4 Dateisystem ihres Servers
|
||||
aktiviert werden.
|
||||
> Bevor Sie das tun wäre jetzt der Punkt einen Sicherungspunkt der VM zu machen Bei Tippfehlern werfen Sie sich selbst aus dem System.
|
||||
|
||||
```bash
|
||||
sudo nano /etc/fstab
|
||||
```
|
||||
|
||||
```bash
|
||||
UUID=xxx / ext4 defaults 0 0
|
||||
```
|
||||
Wird zu:
|
||||
|
||||
```bash
|
||||
UUID=xxx / ext4 user_xattr,acl,barrier=1,errors=remount-ro,defaults 0 0
|
||||
```
|
||||
Speichern und Neustart
|
||||
|
||||
## Zeitserver Einrichten
|
||||
|
||||
Als Zeitserver verwenden wir den Dienst chrony.
|
||||
|
||||
```shellscript
|
||||
sudo nano /etc/chrony/chrony.conf
|
||||
```
|
||||
Am Ende Anhängen:
|
||||
|
||||
```config
|
||||
allow 0.0.0.0/24
|
||||
```
|
||||
Dienst neu starten:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart chrony
|
||||
```
|
||||
Testen ob der Dienst aktiv ist:
|
||||
```bash
|
||||
ss -tulpen:
|
||||
```
|
||||
> udp 0 0 0.0.0.0:123 0.0.0.0:\* 0 22432 1180/chronyd
|
||||
|
||||
## Samba Installation und Provisionierung
|
||||
|
||||
### Samba Installieren
|
||||
Sichern der Orginalkonfiguration
|
||||
|
||||
```bash
|
||||
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
|
||||
```
|
||||
### Provisionierung des Samba4 zu einem Active Directory Domain-Controller mit UNIX-Erweiterung:
|
||||
|
||||
```bash
|
||||
sudo samba-tool domain provision --use-rfc2307 --interactive --dns-backend=SAMBA_INTERNAL
|
||||
```
|
||||
Fragen beantworten:
|
||||
* Realm: TNXX.ITO
|
||||
* Domain: TNXX
|
||||
* Server Role: dc
|
||||
* DNS backend: SAMBA_INTERNAL
|
||||
* DNS forwarder: 1.1.1.1
|
||||
* Administrator password: 3 von 4: klein, groß, Zahl Zeichen und mindestens 7 Zeichen lang!!!!!!!!!!!!!! zB. passw0rd#
|
||||
|
||||
Fertig.
|
||||
|
||||
## Startverhalten von Samba an AD-DC anpassen
|
||||
|
||||
```bash
|
||||
sudo systemctl enable --now samba-ad-dc
|
||||
```
|
||||
Samba nur auf den angegeben Netzwerkkarten starten, auf diese Weise gibt es keine Konflikte mit dem internen Nameserver edit in /etc/samba/smb.conf unter global
|
||||
```bash
|
||||
bind interfaces only = yes
|
||||
interfaces = lo enp0s3
|
||||
```
|
||||
|
||||
## Kerberos-Konfiguration von Samba übernehmen
|
||||
|
||||
Samba legt bei der Provisionierung eine vorgefertigte Konfigurationsdatei für Kerberos also dem Authentifizierungsdienst, welcher auch eine Synchrone Uhr braucht.
|
||||
|
||||
Original sichern:
|
||||
```bash
|
||||
sudo mv /etc/krb5.conf /etc/krb5.conf.bak
|
||||
```
|
||||
Link erstellen:
|
||||
```bash
|
||||
sudo cp -al /var/lib/samba/private/krb5.conf /etc/krb5.conf
|
||||
```
|
||||
## Anpassung der Netzwerkverbindung um DNS-Anfragen durch den Internen-DNS zu beantworten
|
||||
|
||||
```bash
|
||||
sudo nano /etc/netplan/01-tnXX-netz.yaml
|
||||
```
|
||||
|
||||
|
||||
```yaml
|
||||
...
|
||||
nameservers:
|
||||
addresses: [192.168.2XX.250]
|
||||
search: [tnXX.ito]
|
||||
...
|
||||
```
|
||||
```bash
|
||||
sudo rm /etc/netplan/50-cloud-init.yaml
|
||||
sudo netplan apply
|
||||
```
|
||||
Internen Resolver übernehmen
|
||||
```bash
|
||||
sudo rm /etc/resolv.conf
|
||||
echo -e \"nameserver 127.0.0.1\\nsearch TNXX.ITO\" \| sudo tee
|
||||
/etc/resolv.conf
|
||||
```
|
||||
|
||||
## Überprüfen der DNS-Konfiguration
|
||||
|
||||
Testen des SRV record für ldap über TCP
|
||||
|
||||
```bash
|
||||
host -t SRV \_ldap.\_tcp.tnXX.ito
|
||||
```
|
||||
> _ldap.\_tcp.tnXX.ito has SRV record 0 100 389 dc1.tnXX.ito.
|
||||
|
||||
Testen des SRV record für kerberos über UDP
|
||||
|
||||
```bash
|
||||
host -t SRV \_kerberos.\_udp.tnXX.ito
|
||||
```
|
||||
> _kerberos.\_udp.mkXX.ito has SRV record 0 100 88 dc1.tnXX.ito.
|
||||
|
||||
Und die Namensauflösung des Servers
|
||||
|
||||
```bash
|
||||
host -t A dc1.tnXX.ito
|
||||
```
|
||||
>dc1.tnXX.ito has address 127.0.0.1
|
||||
|
||||
Wenn hier Alles antwortet funktioniert der DNS
|
||||
|
||||
## Kerberos
|
||||
|
||||
Samba erzeugt eine passende Konfigurationsdatei für den Kerberos-Dienst
|
||||
diese verlinken wir anstelle der Original-Datei die uns mitinstalliert
|
||||
wurde.
|
||||
|
||||
```bash
|
||||
sudo mv /etc/krb5.conf /etc/krb5.conf.orig
|
||||
sudo cp -al /var/lib/samba/private/krb5.conf /etc/krb5.conf
|
||||
sudo reboot
|
||||
```
|
||||
Login-Versuch mit Anlegung des Maschinenaccounts
|
||||
```bash
|
||||
kinit administrator@TNXX.ITO
|
||||
```
|
||||
> Es erfolgt eine Ausgabe ihres Passwort-Ablaufdatums
|
||||
```bash
|
||||
klist
|
||||
```
|
||||
> Das komplette Kerberos Ticket wird angezeigt
|
||||
```bash
|
||||
sudo smbclient -L localhost -U 'administrator'
|
||||
```
|
||||
> Sie sehen eine auflistung der Servereigenschaften, der Freigaben und der
|
||||
Serverrolle
|
||||
|
||||
```bash
|
||||
sudo smbclient //localhost/netlogon -U 'administrator'
|
||||
```
|
||||
Sie sehen das leere netlogon Verzeichnis des Servers und raus geht es
|
||||
mit „exit"
|
||||
|
||||
## DHCP-Server einrichten
|
||||
|
||||
```bash
|
||||
sudo nano /etc/dhcp/dhcpd.conf
|
||||
```
|
||||
suchen sie den auskommentierten Eintrag „authoritative;" und kommentieren Sie ihn ein. Weiter unten finden Sie ein Beispiel:
|
||||
|
||||
```conf
|
||||
# A slightly different configuration for an internal subnet.
|
||||
#subnet 10.5.5.0 netmask 255.255.255.224 {
|
||||
# range 10.5.5.26 10.5.5.30;
|
||||
# option domain-name-servers ns1.internal.example.org;
|
||||
# option domain-name "internal.example.org";
|
||||
# option subnet-mask 255.255.255.224;
|
||||
# option routers 10.5.5.1;
|
||||
# option broadcast-address 10.5.5.31;
|
||||
# default-lease-time 600;
|
||||
# max-lease-time 7200;
|
||||
#}
|
||||
```
|
||||
welches wir anpassen:
|
||||
|
||||
```conf
|
||||
# A slightly different configuration for an internal subnet.
|
||||
Subnet 192.168.2XX.0 netmask 255.255.255.0 {
|
||||
range 192.168.2XX.100 192.168.2XX.200;
|
||||
option domain-name-servers 192.168.2XX.250;
|
||||
option domain-name "tnXX.ito";
|
||||
option subnet-mask 255.255.255.0;
|
||||
option routers 192.168.2XX.1;
|
||||
option broadcast-address 192.168.2XX.255;
|
||||
default-lease-time 600;
|
||||
max-lease-time 7200;
|
||||
}
|
||||
```
|
||||
speichern und den dienst neu starten mit:
|
||||
```bash
|
||||
sudo systemctl restart isc-dhcp-server
|
||||
```
|
||||
## Benutzer anlegen und Verwalten
|
||||
|
||||
Zur Verwaltung der Nutzer der Domäne haben sie (mindestens) 2
|
||||
Möglichkeiten:
|
||||
|
||||
### RSAT
|
||||
|
||||
Nutzen Sie einen Windows PC, nehmen diesen in die Domäne auf, und nutzen die Remote Server Administration Tools von Microsoft.
|
||||
<https://learn.microsoft.com/de-de/troubleshoot/windows-server/system-management-components/remote-server-administration-tools>
|
||||
|
||||
Diese werden über Features hinzugefügt. Prüfen Sie welcher
|
||||
Installationsweg bei ihrer Windows Version passt. ( winver ausführen )
|
||||
|
||||
Hiermit können Sie Benutzer, Gruppen und auch Gruppenrichtlinien setzen.
|
||||
|
||||
### CLI
|
||||
|
||||
Über das samba-tool kann mit sudo-rechten ebenfalls das Management
|
||||
erfolgen, allerdings Textbasiert:
|
||||
|
||||
Nutzer mit Vor und Nachnamen erstellen und ein Passwort vergeben:
|
||||
|
||||
```bash
|
||||
sudo samba-tool user add dieterbecker 'passw0rd#' --given-name=Dieter --surname=Becker
|
||||
```
|
||||
Wenn auf das Passwort und die Genauen Namen verzichtet wird, erfolgt
|
||||
trotzdem ein Passwort Abfrage Dialog.
|
||||
|
||||
Das Ganze erweitert um den Profilpfad:
|
||||
|
||||
```bash
|
||||
sudo samba-tool user add dieterbecker 'passw0rd#' --given-name=Dieter --surname=Becker --profile-path='\\tnXX\profiles\dieterbecker'
|
||||
```
|
||||
und/oder mit Home-Verzeichnis
|
||||
|
||||
```bash
|
||||
sudo samba-tool user add dieterbecker 'passw0rd#' --given-name=Dieter --surname=Becker --home-drive=U --home-directory='\\tnXX\dieterbecker'
|
||||
```
|
||||
Nutzer anzeigen:
|
||||
```bash
|
||||
sudo samba-tool user list
|
||||
```
|
||||
Nutzer Löschen:
|
||||
|
||||
```bash
|
||||
sudo samba-tool user delete dieterbecker
|
||||
```
|
||||
Passwort ändern:
|
||||
```bash
|
||||
sudo samba-tool user setpassword dieterbecker
|
||||
```
|
||||
Gruppe anlegen:
|
||||
```bash
|
||||
sudo samba-tool group add Geschaeftsleitung
|
||||
```
|
||||
Gruppe löschen:
|
||||
```bash
|
||||
sudo samba-tool group delete Geschaeftsleitung
|
||||
```
|
||||
Nutzer oder Gruppe zu Gruppe hinzufügen:
|
||||
```bash
|
||||
sudo samba-tool group addmembers \"Geschaeftsleitung\" dieterbecker
|
||||
```
|
||||
Nutzer aus Gruppe entfernen:
|
||||
```bash
|
||||
sudo samba-tool group removemembers \"Geschaeftsleitung\" dieterbecker
|
||||
```
|
||||
Gruppenmitglieder Anzeigen:
|
||||
```bash
|
||||
sudo samba-tool group listmembers \"Geschaeftsleitung\"
|
||||
```
|
||||
## User auf Ubuntu umsetzen
|
||||
|
||||
Damit die Nutzer auch unter Linux verfügbar werden, muss der winbind Dienst wissen, wie die AD-User mit ihren IDs am Server gemappt werden sollen. Daher anpassen der smb.conf:
|
||||
|
||||
Unter ```[Global]``` unter den vorhandenen Einträgen ergänzen:
|
||||
|
||||
```ini
|
||||
password server = DC1.TNXX.ITO
|
||||
idmap uid = 10000-20000
|
||||
idmap gid = 10000-20000
|
||||
winbind enum users = yes
|
||||
winbind enum groups = yes
|
||||
winbind cache time = 10
|
||||
winbind use default domain = yes
|
||||
winbind nss info = rfc2307
|
||||
```
|
||||
Zum übernehmen den Dienst neu starten:
|
||||
|
||||
```bash
|
||||
sudo systemctl restart samba-ad-dc
|
||||
```
|
||||
User testen:
|
||||
|
||||
```bash
|
||||
getend passwd
|
||||
```
|
||||
Gruppen testen:
|
||||
|
||||
```bash
|
||||
getend group
|
||||
```
|
||||
> Es sollten Nutzer und Gruppen mit TNXX\ auftauchen. Sollte dem nicht der fall sein, bitte in der Datei ```/etc/nsswitch.conf``` alle Einträge mit ```sss``` durch ```winbind``` ersrtzen und dann nochmals versuchen.
|
||||
|
||||
## Freigaben für die Gruppen erstellen
|
||||
|
||||
Damit die Nutzer und Gruppen nun auch Laufwerke bekommen müssen die Verzeichnisse erstellt und Freigegeben werden:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /srv/samba/projekte
|
||||
```
|
||||
Admins zugang geben:
|
||||
|
||||
```bash
|
||||
sudo chown root:"TNXX\Domain Admins" /srv/samba/projekte
|
||||
sudo chmod 0770 /srv/samba/projekte
|
||||
```
|
||||
ACL auf Domänenadmins erweitern:
|
||||
|
||||
```bash
|
||||
sudo setfacl -m g:"TNXX\Domain Admins":rwx /srv/samba/projekte
|
||||
sudo setfacl -d -m g:"TNXX\Domain Admins":rwx /srv/samba/projekte
|
||||
```
|
||||
|
||||
Und damit die Rechte auch setzbar werden:
|
||||
|
||||
```bash
|
||||
sudo samba-tool privilege grant "TNXX\Domain Admins" SeDiskOperatorPrivilege
|
||||
```
|
||||
Eintrag in der smb.conf dafür:
|
||||
```ini
|
||||
[Projekte]
|
||||
path = /srv/samba/projekte
|
||||
read only = no
|
||||
vfs objects = acl_xattr
|
||||
map acl inherit = yes
|
||||
inherit acls = yes
|
||||
inherit permissions = yes
|
||||
nt acl support = yes
|
||||
```
|
||||
|
||||
Jetzt kann die Freigabe vom Admin mit den Jeweiligen User-Gruppenrechten
|
||||
gesetzt werden. Hierfür in einer Windows-Umgebung die Eigenschaften des Netzlaufwerkes anpassen.
|
||||
|
||||
|
||||
[PDF herunterladen](ubuntu-ad-dc.pdf){ .md-button }
|
||||
Reference in New Issue
Block a user