Arbeitsblatt 1

Umgebung

Realm: SAM159.IET-GIBB.CH Gateway: 192.168.110.2 PW: sml12345, SmL12345**, Sml12345$

vmLS1: DC/KDC, DNS, LDAP Server IP: 192.168.110.61

vmLS2: Member Server Linux IP: 192.168.110.62

vmLP1: Member Client Linux IP: 192.168.110.30

vmWP1: Member Client Windows IP: 192.168.110.10

Samba Domain Controller vmLS1 installieren

Netzwerk konfigurieren

Search domain setzen

vmLS1: /etc/netplan/00-eth0.yaml:

network:
  ethernets:
    eth0:
      addresses:
      - 192.168.110.61/24 
      nameservers:
        addresses:
        - 192.168.110.2
        search:
        - sam159.iet-gibb.ch
      routes:
      - to: default
        via: 192.168.110.2
  version: 2

vmLS1:

sudo netplan apply --debug
Domain in hosts setzen

vmLS1: /etc/hosts:

127.0.0.1       localhost.localdomain   localhost
127.0.1.1       vmLS1.sam159.iet-gibb.ch        vmLS1
192.168.110.61  vmLS1.sam159.iet-gibb.ch        vmLS1

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Hostname anpassen

vmLS1: /etc/hostname:

vmLS1.sam159.iet-gibb.ch

Samba und diverse Packages installieren

Installation

vmLS1:

sudo apt update
sudo apt upgrade -y
sudo snap refresh
sudo apt install -y samba smbclient heimdal-clients
# Default Kerberos version 5 realm: SAM159.IET-GIBB.CH
sudo apt install -y acl attr build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls28-dev libreadline-dev python2-dev python2 python-dev-is-python3 python3-dnspython gdb pkg-config libpopt-dev libldap2-dev libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl ntp ntpdate net-tools git winbind libpam0g-dev dnsutils lsof
Domain provisionieren

vmLS1:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
sudo samba-tool domain provision
# Realm: SAM159.IET-GIBB.CH
# Domain: SAM159
# Server Role: dc
# DNS backend: SAMBA_INTERNAL
# DNS forwarder IP: 8.8.8.8
# Admin PW: SmL12345**
Require strong auth deaktivieren

vmLS1: /etc/samba/smb.conf:

# Global parameters
[global]
        dns forwarder = 8.8.8.8
        netbios name = VMLS1
        realm = SAM159.IET-GIBB.CH
        server role = active directory domain controller
        workgroup = SAM159
        ldap server require strong auth = no

[sysvol]
        path = /var/lib/samba/sysvol
        read only = No

[netlogon]
        path = /var/lib/samba/sysvol/sam159.iet-gibb.ch/scripts
        read only = No
Resolver Dienst deaktivieren

vmLS1:

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
sudo rm /etc/resolv.conf

vmLS1: /etc/resolv.conf:

nameserver 192.168.110.61
search sam159.iet-gibb.ch
Samba Dienst aktivieren

vmLS1:

sudo systemctl unmask samba-ad-dc
sudo systemctl enable samba-ad-dc
sudo systemctl start samba-ad-dc
sudo reboot

vmLS1:

sudo systemctl status samba-ad-dc
Kerberos Konfiguration

vmLS1:

sudo rm /etc/krb5.conf

vmLS1: /etc/krb5.conf:

[libdefaults]
	default_realm = SAM159.IET-GIBB.CH
	fcc-mit-ticketflags = true
[realms]
	SAM159.IET-GIBB.CH = {
		kdc = vmLS1.sam159.iet-gibb.ch
		admin_server = vmLS1.sam159.iet-gibb.ch
	}
[domain_realm]
	.sam159.iet-gibb.ch = SAM159.IET-GIBB.CH
	sam159.iet-gibb.ch = SAM159.IET-GIBB.CH

Netzwerk testen

Aktuelle DNS-Server anzeigen

vmLS1:

sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved
sudo systemctl status systemd-resolved
sudo resolvectl status
Resolver-Service wieder ausschalten

vmLS1:

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo reboot
Offene Ports anzeigen

vmLS1:

netstat -tlpn
Interner DNS-Service aktualisieren

vmLS1:

sudo samba_dnsupdate --verbose
Wichtige DNS-Einträge testen

vmLS1:

host -t SRV _kerberos._tcp.sam159.iet-gibb.ch
host -t SRV _gc._tcp.sam159.iet-gibb.ch
host -t SRV _ldap._tcp.sam159.iet-gibb.ch
host -t A vmls1.sam159.iet-gibb.ch

Reverse-Lookup-Zone einrichten

Reverse-Lookup-Zone erstellen

vmLS1:

samba-tool dns zonecreate vmLS1 110.168.192.in-addr.arpa -U administrator --password SmL12345**
PTR-Record für vmls1 eintragen

vmLS1:

samba-tool dns add 192.168.110.61 110.168.192.in-addr.arpa 61 PTR vmls1.sam159.iet-gibb.ch -U administrator --password SmL12345**

A- und PTR-Records eintragen

A-Record für vmls2 eintragen

vmLS1:

samba-tool dns add vmLS1.sam159.iet-gibb.ch sam159.iet-gibb.ch vmLS2 A 192.168.110.62 -U administrator --password SmL12345**
A-Record für vmlp1 eintragen

vmLS1:

samba-tool dns add vmLS1.sam159.iet-gibb.ch sam159.iet-gibb.ch vmLP1 A 192.168.110.30 -U administrator --password SmL12345**
Pointer-Record in Reverse-Zone für vmlp1 eintragen

vmLS1:

samba-tool dns add vmLS1.sam159.iet-gibb.ch 110.168.192.in-addr.arpa 30 PTR vmlp1.sam159.iet-gibb.ch -U administrator --password SmL12345**
Pointer-Record in Reverse-Zone für vmls2 eintragen

vmLS1:

samba-tool dns add vmLS1.sam159.iet-gibb.ch 110.168.192.in-addr.arpa 62 PTR vmls2.sam159.iet-gibb.ch -U administrator --password SmL12345**

Testen der Verbindung

vmLS1:

ping vmLP1 -c 3
ping vmLS2 -c 3
ping vmLS1 -c 3
dig -x 192.168.110.61
dig -x 192.168.110.62
dig -x 192.168.110.30
smbclient -L localhost -U administrator --password SmL12345**

Aufgaben

Portnummern

PortBeschreibungProtokollVerwendung
53DNSTCP/UDPDomain Name System für Namensauflösung
88KerberosTCP/UDPAuthentifizierungsdienst für sichere Kommunikation
135RPC (Dynamisch)TCPRemote Procedure Call für Dienstaufrufe
137NetBIOS Name ServiceUDPNamensauflösung im NetBIOS-Netzwerk
138NetBIOS Datagram ServiceUDPAustausch von Datagrammen im NetBIOS-Netzwerk
139NetBIOS Session ServiceTCPSitzungssteuerung im NetBIOS-Netzwerk
389LDAPTCP/UDPLeichtgewichtiger Verzeichnisdienst für LDAP
445Microsoft-DS (SMB)TCPDatei- und Druckerfreigabe, Active Directory
464Kerberos Change/Set PasswordTCP/UDPPasswortänderung und -setzung über Kerberos
636LDAPS (Secure LDAP)TCPGesichertes LDAP für verschlüsselte Kommunikation
3268Global Catalog LDAPTCPLDAP-Zugriff auf den globalen Katalog
3269Global Catalog LDAPSTCPGesicherter LDAP-Zugriff auf den globalen Katalog
49152-49157RPC (Dynamisch)TCPDynamische RPC-Bereiche für Dienstaufrufe

Ticket lösen

vmLS1:

kinit administrator@SAM159.IET-GIBB.CH

Verbindung testen mit Kerberos Ticket

Der folgende Befehl benutzt das gelöste Kerberos Ticket für die Authentifizierung.

vmLS1:

smbclient -N --use-kerberos=required -L vmLS1

Credential Cache

Der Credential Cache enthält das gelöste TGT und ein cifs Ticket.

vmLS1:

klist

Verbindungsaufbau zu localhost

Der Verbindungsaufbau mit der Kerberos Authentifizierung funktioniert nur, wenn es einen entsprechenden Service Principal gibt. vmLS1:

smbclient -N --use-kerberos=required -L vmLS1

Passwortrichtlinien setzen

vmLS1:

samba-tool domain passwordsettings set --complexity=off
samba-tool domain passwordsettings set --history-length=24
samba-tool domain passwordsettings set --min-pwd-age=1
samba-tool domain passwordsettings set --max-pwd-age=90
samba-tool domain passwordsettings set --min-pwd-length=8
samba-tool user setexpiry Administrator --noexpiry
OptionBeschreibung
—complexity=COMPLEXITYDie Passwortkomplexität (an, aus, Standard). Standard ist ‘an’
—store-plaintext=STORE_PLAINTEXTSpeichere Klartextpasswörter dort, wo Konten ‘Passwörter mit umkehrbarer Verschlüsselung’ haben (an, aus, Standard). Standard ist ‘aus’
—history-length=HISTORY_LENGTHDie Passwortverlaufslänge (ganze Zahl, Standard). Standard ist 24
—min-pwd-length=MIN_PWD_LENGTHDie minimale Passwortlänge (ganze Zahl, Standard). Standard ist 7
—min-pwd-age=MIN_PWD_AGEDas minimale Passwortalter (ganze Zahl in Tagen, Standard). Standard ist 1
—max-pwd-age=MAX_PWD_AGEDas maximale Passwortalter (ganze Zahl in Tagen, Standard). Standard ist 43
—account-lockout-duration=ACCOUNT_LOCKOUT_DURATIONDie Dauer der Kontosperre nach Überschreiten des Limits für fehlerhafte Passwortversuche (ganze Zahl in Minuten, Standard). Standard ist 30 Minuten
—account-lockout-threshold=ACCOUNT_LOCKOUT_THRESHOLDDie Anzahl der zulässigen fehlerhaften Passwortversuche vor der Sperrung des Kontos (ganze Zahl, Standard). Standard ist 0 (nie sperren)
—reset-account-lockout-after=RESET_ACCOUNT_LOCKOUT_AFTERNach Ablauf dieser Zeit beginnt die aufgezeichnete Anzahl der Versuche wieder bei null (ganze Zahl, Standard). Standard ist 30

DNS Records anlegen mit samba-tool

vmLS1:

samba-tool dns add <server> <zone> <name> <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data>

DNS Records löschen

vmLS1:

samba-tool dns delete <server> <zone> <name> <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data>

Samba Flexible Single Master Operations

vmLS1:

sudo samba-tool fsmo show

Der Befehl zeigt die FSMO-Rollen der REALM an. Der Befehl zeigt normalerweise Informationen zu den folgenden FSMO-Rollen an:

  1. Schema Master: Zeigt den Server an, auf dem der Schema-Master-Rolle liegt. Der Schema-Master ist für die Aktualisierung und Pflege des Active Directory-Schemas verantwortlich.
  2. Domain Naming Master: Zeigt den Server an, auf dem der Domain Naming Master liegt. Der Domain Naming Master ist für die Hinzufügung und Entfernung von Domänen in der Gesamtstruktur verantwortlich.
  3. RID Pool Manager: Zeigt den Server an, auf dem der RID Pool Manager liegt. Der RID Pool Manager ist für die Generierung von RIDs (Relative Identifiers) in einer Domäne verantwortlich.
  4. PDC Emulator: Zeigt den Server an, auf dem der PDC Emulator liegt. Der PDC Emulator ist für die Behandlung von Legacy-Anforderungen von Windows NT 4.0-Betriebssystemen, die in der Domäne vorhanden sein können, sowie für die Synchronisierung von Passwortänderungen verantwortlich.
  5. Infrastructure Master: Zeigt den Server an, auf dem der Infrastructure Master liegt. Der Infrastructure Master ist für die Synchronisierung von Sicherheitsprinzipalnamen (Security Principal Names, SPNs) zwischen Domänencontrollern in verschiedenen Domänen verantwortlich.

Arbeitsblatt 2

Aufgaben

Neuen User im LDAP anlegen und TGT lösen

Benutzer erstellen

DN: CN=Silvan,CN=Users,DC=sam159,DC=iet-gibb,DC=ch

Domain Admins Gruppe

DN: CN=Domain Admins,CN=Users,DC=sam159,DC=iet-gibb,DC=ch

TGT Lösen

vmLS1:

kinit silvan@SAM159.IET-GIBB.CH
Kerberisierte Testverbindung

Zeigt Shares an.

vmLS1:

smbclient -L localhost -U silvan --password SmL12345**
SID

Silvan: S-1-5-21-1481754754-2834628233-1250262908-1104 Administrator: S-1-5-21-148175…-500 Domain Admins: S-1-5-21-148175…-512

User, Gruppen und DNS mit RSAT Tools verwalten

Installation RSAT Tools

Nach der Installation stehen Tools wie das “Active Directory Users and Computers” oder das “Group Policy Management” und die DNS. vmWP1:

Get-WindowsCapability -Online | Where-Object {$_.Name -like 'Rsat*'} | Add-WindowsCapability -Online
DNS Server setzen

vmWP1:

Set-DnsClientServerAddress -InterfaceAlias "eth0" -ServerAddresses ("192.168.110.61")
Domain Join

vmWP1:

Add-Computer -DomainName sam159.iet-gibb.ch
# Administrator / SmL12345**

Active Directory mit ldapsearch abfragen

Ldap-utils installieren

vmLP1:

sudo apt update
sudo apt install -y ldap-utils
Ldap query

vmLP1:

ldapsearch -x -LLL -H ldap://vmls1.sam159.iet-gibb.ch -b dc=sam159,dc=iet-gibb,dc=ch -D CN=administrator,CN=Users,DC=sam159,DC=iet-gibb,DC=ch -w SmL12345** "(cn=administrator)"

Fileserver der Domäne

Das Problem des ID-Mappings

Winbind übersetzt SID in GID und UID. Die Art wird in smb.conf definiert und wir verwenden die rid-Methode. Eine SID besteht mehreren Teilen:

  • S - Kennzeichen für SID
  • 1 - Revisionsebene
  • 5 - Identifizierungsautorität
  • 21-3770624505-2901393275-1935834510 - Domäne/Computer
  • 500/512 - Relativer Identifier (RID)
SIDZuordnung
S-1-5-<Domäne>-500Administrator-Benutzerkonto
S-1-5-<Domäne>-501Gast-Benutzerkonto
S-1-5-<Domäne>-502KRBTGT-Servicekonto
S-1-5-<Domäne>-512Domain Admins
S-1-5-<Domäne>-513Domain User Group
S-1-5-<Domäne>-514Domain Guest Group
S-1-5-<Domäne>-515Domain Computer Group
S-1-5-<Domäne>-516Domain Controller Group
S-1-5-<Domäne>-519Organisations-Admins
S-1-5-<Domäne>-520Richtlinien-Ersteller-Besitzer Gruppe
S-1-5-32-544Administratoren-Gruppe
S-1-5-32-545Benutzer-Gruppe

Arbeitsblatt 3

Einrichtung des Linux-Fileservers vmls2

Netzwerk konfigurieren und Samba auf vmLs2 installieren

vmLS2: /etc/netplan/00-eth0.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses: [ 192.168.110.62/24 ]
      dhcp4: false
      routes:
       - to: default
         via: 192.168.110.2
      nameservers:
        addresses: [ 192.168.110.61 ]
        search: [ sam159.iet-gibb.ch ]

vmLS2:

sudo netplan apply

vmLS2:

sudo apt update
sudo apt -y install samba samba-common-bin smbclient heimdal-clients libpam-heimdal
sudo apt -y install libnss-winbind libpam-winbind

vmLS2: /etc/krb5.conf:

[libdefaults]
	default_realm = SAM159.IET-GIBB.CH

	kdc_timesync = 1
	ccache_type = 4
	forwardable = true
	proxiable = true

	fcc-mit-ticketflags = true

[realms]
	SAM159.IET-GIBB.CH = {
		kdc = vmls1.sam159.iet-gibb.ch
		admin_server = vmls1.sam159.iet-gibb.ch
		default_domian = sam159.iet-gibb.ch
	}
	ATHENA.MIT.EDU = {
		kdc = kerberos.mit.edu
		kdc = kerberos-1.mit.edu
		kdc = kerberos-2.mit.edu:88
		admin_server = kerberos.mit.edu
		default_domain = mit.edu
	}
	ZONE.MIT.EDU = {
		kdc = casio.mit.edu
		kdc = seiko.mit.edu
		admin_server = casio.mit.edu
	}
	CSAIL.MIT.EDU = {
		admin_server = kerberos.csail.mit.edu
		default_domain = csail.mit.edu
	}
	IHTFP.ORG = {
		kdc = kerberos.ihtfp.org
		admin_server = kerberos.ihtfp.org
	}
	1TS.ORG = {
		kdc = kerberosts.org
		admin_server = kerberosts.org
	}
	ANDREW.CMU.EDU = {
		admin_server = kerberos.andrew.cmu.edu
		default_domain = andrew.cmu.edu
	}
        CS.CMU.EDU = {
                kdc = kerberos-1.srv.cs.cmu.edu
                kdc = kerberos-2.srv.cs.cmu.edu
                kdc = kerberos-3.srv.cs.cmu.edu
                admin_server = kerberos.cs.cmu.edu
        }
	DEMENTIA.ORG = {
		kdc = kerberos.dementix.org
		kdc = kerberos2.dementix.org
		admin_server = kerberos.dementix.org
	}
	stanford.edu = {
		kdc = krb5auth1.stanford.edu
		kdc = krb5auth2.stanford.edu
		kdc = krb5auth3.stanford.edu
		master_kdc = krb5auth1.stanford.edu
		admin_server = krb5-admin.stanford.edu
		default_domain = stanford.edu
	}
        UTORONTO.CA = {
                kdc = kerberos1.utoronto.ca
                kdc = kerberos2.utoronto.ca
                kdc = kerberos3.utoronto.ca
                admin_server = kerberos1.utoronto.ca
                default_domain = utoronto.ca
	}

[domain_realm]
	.mit.edu = ATHENA.MIT.EDU
	mit.edu = ATHENA.MIT.EDU
	.media.mit.edu = MEDIA-LAB.MIT.EDU
	media.mit.edu = MEDIA-LAB.MIT.EDU
	.csail.mit.edu = CSAIL.MIT.EDU
	csail.mit.edu = CSAIL.MIT.EDU
	.whoi.edu = ATHENA.MIT.EDU
	whoi.edu = ATHENA.MIT.EDU
	.stanford.edu = stanford.edu
	.slac.stanford.edu = SLAC.STANFORD.EDU
        .toronto.edu = UTORONTO.CA
        .utoronto.ca = UTORONTO.CA

Grundkonfiguration des Fileservers

vmLS2: /etc/samba/smb.conf:

[global]	
   workgroup = sam159	
   realm = SAM159.IET-GIBB.CH	
   security = ADS	
   winbind enum users = yes	
   winbind enum groups = yes	
   winbind use default domain = yes	
   winbind refresh tickets = yes	
   template shell = /bin/bash	
   idmap config * : range = 10000 - 19999	
   idmap config SAM159 : backend = rid	idmap 
   config SAM159 : range = 1000000 - 1999999	
   inherit acls = yes	
   store dos attributes = yes	
   client ipc signing = auto	
   vfs objects = acl_xattr

vmLS2:

sudo reboot

vmLS2 als Mitglied zur Domäne hinzufügen

vmLS2:

sudo net ads join -U administrator

vmLS2:

sudo winbindd
wbinfo -u # listet Benutzer
wbinfo -g # listet Gruppen
wbinfo --name-to-sid=administrator # SID von domain admin
wbinfo --domain-info=SAM159 # domain info
wbinfo --dc-info=SAM159 # dc info

vmLS2: /etc/nsswitch.conf:

passwd:         compat systemd winbind
group:          compat systemd winbind
shadow:         compat winbind
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

vmLS2:

getent passwd
getent group

Aufgaben

Aufgabe 1

Berechtigungen fehlen und userhome existiert nicht.

Aufgabe 2

vmLS2:

wbinfo --name-to-sid silvan
# S-1-5-21-1481754754-2834628233-1250262908-1104 SID_USER (1)
wbinfo --name-to-sid "domain users"
# S-1-5-21-1481754754-2834628233-1250262908-513 SID_DOM_GROUP (2)
wbinfo --group-info "domain users"
# domain users:x:1000513:
wbinfo -i silvan
# silvan:*:1001104:1000513::/home/SAM159/silvan:/bin/bash

Die Endung 1104 wird mit Prefix 100 als uid übernommen. Die Endung 513 wird mit Prefix 1000 als gid übernommen.

Arbeitsblatt 4

Registry Datenbank

vmLS2:

sudo net conf import /etc/samba/smb.conf
sudo net conf list

vmLS2: /etc/samba/smb.conf:

[global]	
   config backend = registry

Arbeitsblatt 5

Verwaltung von Shares auf vmls2 über die Registry

Erstellen eines Shares

vmLS2:

sudo mkdir -p /daten/reg-share
sudo net conf addshare reg-share /daten/reg-share writeable=y guest_ok=n "Share in der Registry"

Anzeigen der Registryeinträge. vmLS2:

sudo net registry export hklm\\software\\samba /dev/stdout

Anzeigen der Registryeinträge via Netzwerk. vmLS1:

net rpc registry enumerate HKLM\\software\\samba\\smbconf\\reg-share -S vmLS2.sam159.iet-gibb.ch -U Administrator

Zugriff auf Share aus der Registry

Auflistung der Freigabe. vmLS2:

smbclient -L vmls2

Aufgabe 1

Fehlende Berechtigungen

Freigabe der Home-Verzeichnisse

vmLS2:

sudo mkdir /home/SAM159
sudo chmod 755 /home/SAM159
sudo chgrp "SAM159\Domain Admins" /home/SAM159
sudo chown "SAM159\administrator" /home/SAM159
sudo net conf addshare users /home/SAM159 writeable=y guest_ok=n "Home-Dirs"
sudo net conf setparm users "browsable" "no"
sudo net conf setparm users "create mask" "700"
sudo net conf setparm users "directory mask" "700"

Aufgabe 2

Via AD Users and Computers unter dem Tab Profil erstellt und Laufwerkbuchstaben P: zugewiesen.

Aufgabe 3

Nur ERSTELLER-BESITZER und Administrator haben Vollzugriff (vererbt), sowie der Benutzer für den es erstellt worden ist.

Aufgabe 4

Laufwerk wurde eingebunden, Desktop etc. sind jedoch nicht umgeleitet. Benötigt wahrscheinlich noch GPO.

Aufgabe 5

sudo apt -y install acl
sudo getfacl /home/SAM159/silvan
getfacl: Removing leading '/' from absolute path names
# file: home/SAM159/silvan
# owner: administrator
# group: domain\040users
user::rwx
user:administrator:rwx
user:silvan:rwx
group::---
group:BUILTIN\\administrators:rwx
group:domain\040users:---
mask::rwx
other::---
default:user::rwx
default:user:administrator:rwx
default:user:silvan:rwx
default:group::---
default:group:BUILTIN\\administrators:rwx
default:group:domain\040users:---
default:mask::rwx
default:other::---

Arbeitsblatt 6

Allgemeine Shares auf vmLS2 einrichten

Unter Windows können komplexere Berechtigungen vergeben werden, daher sollten die Berechtigungen unter Windows gesetzt werden.

Administrativer Share einrichten

vmLS2:

sudo mkdir -m 775 /admin-share
sudo chgrp "SAM159\Domain Admins" /admin-share/
sudo net conf addshare admin-share /admin-share writeable=y guest_ok=n "Admin-share"
sudo net conf setparm admin-share "browsable" "yes"

Privileg SeDiskOperatorPrivilege vergeben. Privilegien können nur von einem Mitglied der Gruppe domain admins gesetzt werden. Deshalb muss bei diesem Kommando immer eine Authentifizierung verwendet werden.

vmLS2:

sudo net rpc rights grant "SAM159\domain admins" SeDiskOperatorPrivilege -U administrator -S vmLS2
sudo net rpc rights list "SAM159\domain admins" -U administrator -S vmLS2

Aufgabe 1

Mit SeDiskOperatorPrivilege kann ein Benutzer Shares verwalten und erstellen.

Erstellen eines Shares unter Windows

Aufgabe 2

vmLS2:

sudo getfacl /admin-share/
getfacl: Removing leading '/' from absolute path names
# file: admin-share/
# owner: root
# group: domain\040admins
user::rwx
group::rwx
other::r-x

Share mit Regedit anlegen

vmLS2:

sudo net conf list
[global]
	workgroup = sam159
	realm = SAM159.IET-GIBB.CH
	security = ADS
	winbind enum users = yes
	winbind enum groups = yes
	winbind use default domain = yes
	winbind refresh tickets = yes
	template shell = /bin/bash
	idmap config * : range = 10000 - 19999
	idmap config SAM159 : backend = rid	idmap
	config SAM159 : range = 1000000 - 1999999
	inherit acls = yes
	store dos attributes = yes
	client ipc signing = auto
	vfs objects = acl_xattr

[reg-share]
	path = /daten/reg-share
	comment = Share in der Registry
	guest ok = no
	read only = no

[users]
	path = /home/SAM159
	comment = Home-Dirs
	guest ok = no
	read only = no
	browseable = no
	create mask = 700
	directory mask = 700

[admin-share]
	path = /admin-share
	comment = Admin-share
	guest ok = no
	read only = no
	browseable = yes

[sh-public]
	path = /admin-share/PUBLIC
	read only = no
	browsable = yes

Aufgabe 3: Share mit hide unreadable = yes

vmLS2:

sudo samba-tool group add gl
sudo samba-tool group add produktion
sudo samba-tool group add verwaltung
 
sudo samba-tool user create user1-verw
sudo samba-tool user create user1-prod
sudo samba-tool user create user1-gl
 
sudo samba-tool group addmembers GL user1-gl
sudo samba-tool group addmembers PRODUKTION user1-prod
sudo samba-tool group addmembers VERWALTUNG user1-verw

Berechtigung lesen auf ABTEILUNGEN Ordner und entsprechende Gruppen auf Unterordnern. Share in Registry erstellen mit hide unreadable = yes.