• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Samba active directory domain controller kann keine Shares anlegen

Hallo an alle,

Ich habe auch mal versucht mit net shares anzulegen.
Komme an der selben Stelle nicht weiter, Share taucht nirgends auf.

Ich habe auf meinem AD Controller die Shares mittlerweile über die Kommandozeile einfach erstellt und auch dort dann die entsprechenden Rechte gesetzt wie hier:https://wiki.samba.org/index.php/Shares_with_POSIX_ACLs

Shares werden auch gefunden, aber drauf zugreifen kann ich nicht.
Code:
Element nicht Gefunden
Das Element befindet sich nicht mehr in \\<domain>.
:irre:

Edit: Code-Tags vergessen, danke fürs edititieren.

Ich wollte nur nochmal erwähnen das es mit einem externen Fileserver ohne Probleme, auf anhieb funktioniert.
Die jeweiligen Berechtigungen lege ich genauso an wie in der Samba-Wiki.
Aber auf dem AD Controller selbst will es so einfach nicht klappen.
 
OP
Phillinger

Phillinger

Member
So, erstmal sorry für die lange Sendepause. Aber so ist das mit Provisorien: Wenn die erstmal funktionieren... ;)



Zunächst mal zu der acl,user_xattr-Geschichte:
josef-wien schrieb:
Code:
grep default_mntopts /etc/mke2fs.conf
dumpe2fs -h /dev/sdXY | grep "Default mount options"

Danke für den Tipp, das ergibt bei mir folgende Ausgabe:
Code:
root@albert:/srv# grep default_mntopts /etc/mke2fs.conf
        default_mntopts = acl,user_xattr
root@albert:/srv# dumpe2fs -h /dev/md3 | grep "Default mount options"
dumpe2fs 1.42.12 (29-Aug-2014)
Default mount options:    user_xattr acl
root@albert:/srv#
/dev/md3 ist ein Software-RAID5, mountpoint ist /srv. acl und user_xattr sind also default mount options. Zusätzlich habe ich sie allerdings noch in die fstab aufgenommen. setfacl und getfacl funktionieren soweit auch einwandfrei:
Code:
root@albert:/srv# setfacl -m "u:philip:rwx" freigabe/
root@albert:/srv#
root@albert:/srv# getfacl freigabe/
# file: freigabe/
# owner: root
# group: root
user::rwx
user:philip:rwx
group::rwx
mask::rwx
other::rwx
Sieht gut aus.




Zurück zu den Shares per Registry:
Ich habe per net so wie von spoensche vorgegeben eine Freigabe unter /srv/freigabe angelegt. So sieht das dann in der registry aus:
Code:
root@albert:/srv# net registry export hklm\\software\\samba /dev/stdout
Windows Registry Editor Version 5.00

[HKLM\software\samba]

[HKLM\software\samba\smbconf]

[HKLM\software\samba\smbconf\freigabe]
"path"="/srv/freigabe"
"comment"="Freigabe per Registry"
"guest ok"="no"
"read only"="no"
"browseable"="yes"

[HKLM\software\samba\Group Policy]
;Local Variables:
;coding: UTF-8
;End:
Das "browseable" habe ich nachträglich mit net conf setparm freigabe "option" "wert" gesetzt, um diese Funktionalität zu testen.

Soweit alles fein. Nur: Es interessiert Samba einen Dreck, was da drin steht. :(
Code:
root@albert:/srv# smbclient -L localhost -U Administrator
Enter Administrator's password:
Domain=[PFLDOM] OS=[Unix] Server=[Samba 4.2.10-Debian]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service
Domain=[PFLDOM] OS=[Unix] Server=[Samba 4.2.10-Debian]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
Die Freigabe wird einfach nicht angezeigt. :mad:

Kann es sein, dass meine Samba-Installation einfach diese Registry ignoriert?
 

spoensche

Moderator
Teammitglied
Die Freigabe wird nicht angezeigt, weil der Eigentümer root ist und der Benutzer phillip kein Domänen User ist. Folglich könnte niemand die Freigabe nutzen.

https://wiki.samba.org/index.php/Shares_with_POSIX_ACLs
 
OP
Phillinger

Phillinger

Member
Okay, angenommen, der Domain-User heißt philip.mustermann. Dann müsste doch ein
Code:
net conf setparm freigabe "valid users" "philip.mustermann"
bewirken, dass es für diesen User im Explorer sichtbar wird?
Code:
root@albert:/srv# net registry export hklm\\software\\samba /dev/stdout
Windows Registry Editor Version 5.00

[HKLM\software\samba]

[HKLM\software\samba\smbconf]

[HKLM\software\samba\smbconf\freigabe]
"path"="/srv/freigabe"
"comment"="Freigabe per Registry"
"guest ok"="no"
"read only"="no"
"browseable"="yes"
"valid users"="philip.mustermann"

[HKLM\software\samba\Group Policy]
;Local Variables:
;coding: UTF-8
;End:

Noch ein Reload:
Code:
root@albert:/srv# smbcontrol all reload-config
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
root@albert:/srv#

Aber dennoch: Die Freigabe wird nicht angezeigt. Weder im Explorer, noch auf der Konsole mit smbclient.


Dann bin ich auf die Idee gekommen, den User bei den ACL einzutragen:
Code:
root@albert:/srv# setfacl -m "u:philip.mustermann:rwx" freigabe/
setfacl: Option -m: Das Argument ist ungültig bei Zeichen 3
root@albert:/srv#
Will er nicht. :( Allerdings kann ich auch mit chown philip.mustermann ... nichts bewirken. " "Ungültiger Benutzer".


Irgendwie habe ich den Eindruck, dass da tief im Kern in irgendwelchen configs was verkorkst wurde von mir. Kann man einen AD DC nochmal neu hochziehen, ohne alle zugehörigen Maschinen und User der Domäne neu einhängen zu müssen?
 

spoensche

Moderator
Teammitglied
Phillinger schrieb:
Okay, angenommen, der Domain-User heißt philip.mustermann. Dann müsste doch ein
Code:
net conf setparm freigabe "valid users" "philip.mustermann"

Nein, weil phillip.mustermann kein Domänenbenutzer ist und weil der freigegebene Ordner dem User root und der Gruppe root gehört.

Der Domänenbenutzer lautet "DOMAIN\phillip.mustermann". Bei deiner Schreibweise handelt es sich um einen lokalen Benutzer.

Du musst also den Eigentümer und die Gruppe ändern. Wenn du dies gemacht hast, dann kann Samba auch die Berechtigungen auf der Dateisystemebene richtig setzen.

Sieh dir dazu auch mal den von mir geposteten Link zum Samba Wiki an.
 

samaadm

Newbie
Hallo,
habe mich hier angemeldet, weil ich beim Suchen auf diesen Tread gestoßen bin.

Habe Debian 8.5 mit Sernet-samba weil ich das Buch:
"Samba4 Das Praxisbuch für Administratoren" von Stefan Kania Auflage 1 vorgegeben bekommen hatte.
Das Buch bewerte ich auf einer Skala von 1-10 mit -2. Da es viel enthällt, das so nicht funktioniert (Bsp.: ldaps Testen obwohl nur ldap Konfiguriert ist und Infos die hinten stehen aber vorne vorrausgesetzt werden)
Ich habe letztens geschaut ob die zweite Auflage Beim Thalia in Darmstadt da ist, leider nicht Kann jemand was zur Qualität der 2.ten Ausgabe sagen?

Momentan habe ich 40 User, 18 Gruppen und 12 Clients (geplant 40 Clients). Ist so wie leben auf der Baustelle.
ein zweiter AD DC hat beim Join alles (AD Datenbank und DNS) sauber übernommen aber einen zusätliche angelegten User übers Wochenende nicht repliziert. Beim Versuch das nach Infos von samaba.org zu fixen hat es den zerlegt. "samba-tool dbcheck" läuft ohne Fehlermeldung übers Wochenende und muß abgebrochen werden. Auch samba-tool domain demote hängt so.
demote für foreign DCs geht ja erst ab Samba 4.4.

Ein samba mit Debina 8.5 und Debian samba Paket als Fileserver hat hinten und vorne nicht geklappt. habe jetzt erst mal einen Win 2008_R2 mit Eval Lizenz (180 Tage) als interrims Lösung am AD hängen.

Habe momentan das getent Problem mit den Domänen Gruppen, weshalb mein Logonscript nicht von den Usern gezogen wird.
Ich werde mir jetzt erst mal die nächsten Tage den Tread zu gemüte führen und etwas rumtesten.

Habe also das selbe "Leiden".
 

samaadm

Newbie
So, das ist jetzt ganz lustig.
(nach Anleitung kein funktionales System erhalten)

Ich habe mit "Ubuntu 16.04 TLS Desktop" einen Samba AD DC aufgesetzt.
Nach dem Youtube Tutorial: "https://www.youtube.com/watch?v=Pa_oMIyU8VY". mit kleinen Änderungen.

An diesem Punkt ist die CD Installation fertig und beim Boot wird das Entfernen der CD und das Drücken von [ENTER] verlangt.
Die Anmeldung, das Öffnen des Terminals und das "sudo su" lasse ich bei jedem Reboot im unten folgenden Text weg.

  1. # nano /etc/network/interfaces
    <staische IP gesetzt und router als dns server>
  2. # reboot
  3. # nano /etc/resolv.conf
    <Resolv.conf ist nach dem reboot richtig gesetzt, vorher nicht>
    <<<<<<<<<<<<<<<<<<<<<<DNS masq musste ich nicht deaktivieren, ginge aber wie folgt:
  4. #nano /etc/NetworkManager/NetworkManager.conf
    <#dns=dnsmasq> <<<<<< also auskommentieren
  5. # nano /etc/hosts
    <um den FQDN ergänzt>

Post installation
Code:
# apt-get update
# apt-get upgrade
# update-initramfs -k all -u -v
# apt-get install attr
# apt-get install acl

Unterstützung von Extended Attributes und ACL aktivieren
  • # nano /etc/fstab
    <user_xattr,acl,barrier=1 ergänzt>
  • # mount -a

Zeitserver installieren, Zeit setzen und testen
Code:
# apt-get install ntp
# apt-get install ntpdate  <<<<< das fehlt im Youtube tutorial
# netstat -tulpn | grep ntpd
# ntpdate -q 127.0.0.1
# service ntp stop
# ntpdate -B 0.de.pool.ntp.org
# service ntp start
# hwclock --systohc

Extendet Attributes und ACL Funktion testen
Code:
# touch test.txt
# setfattr -n user.test -v humbug1 test.txt
# setfattr -n security.test -v humbug2 test.txt
# getfattr -d test.txt
# getfattr -n security.test -d test.txt
# touch text.txt
# setfacl -m g:adm:rwx test.txt
# getfacl test.txt

Grundlegende Pakete für Samba installieren
Code:
# apt-get install build-essential
# apt-get install libacl1-dev
# apt-get install libattr1-dev
# apt-get install libblkid-dev
# apt-get install libgnutls-dev
# apt-get install libreadline-dev
# apt-get install python-dev
# apt-get install libpam0g-dev
# apt-get install python-dnspython
# apt-get install gdb 
# apt-get install pkg-config
# apt-get install libpopt-dev
# apt-get install libldap2-dev
# apt-get install dnsutils
# apt-get install libbsd-dev
# apt-get install docbook-xsl
# apt-get install libcups2-dev
# apt-get install krb5-user
>>>>> Den Dialog zur Kerberos Einrichtung durchführen
# apt-get install samba
# apt-get install smbclient
# samba -V
# smbclient -V
# mv /etc/samba/smb.conf /etc/samba/smb.conf.old1

Einstellung für DNS
  • # nano /etc/network/interfaces
    # -- dns-nameservers 127.0.0.1 <<<<<< ergänzt
  • # nano /etc/resolv.conf
    # -- nameserver 127.0.0.1 <<<<<< ersetzt
  • # reboot

Code:
# service smbd stop
# service nmbd stop

Code:
# Samba-tool domain provision --use-rfc2307 --realm=test.int --domain=test --server-role=dc --dns-backend=SAMBA_INTERNAL --function-level=2008_R2 --adminpass= “passwort” --option=”dns forwarder=192.168.1.254” --use-ntvfs
<<<<<<<<<<<< mit “—interactive “ haben mir in der /etc/samba/smb.conf die beiden Zeilen “server services” und “dcerpc endpointservers” gefehlt und „smbclient -L localhost -U%“ hat einen Fehler produziert.
Im Moment bin ich mir nicht sicher, aber ich glaube bei einem Test ohne „—interactive“ einmal „—use-ntvfs“ weggelassen zu haben und den selben Effekt bekommen zu haben. (das zu verifizieren steht auf der ToDo)

Laut:
[url schrieb:
https://wiki.samba.org/index.php/FAQ#Can_I_turn_off_some_of_the_.27server_services.27_options.3F[/url]"]

If all server services options are required for an AD DC, why is this parameter required at all?

If you use the internal DNS, then you can remove the 'server services' parameter completely from your smb.conf. All AD required services are started by default automatically.
## ## ##
Sollen die Zeilen auch fehlen können und es sollte gehen.
Das kann ich nicht bestätigen, da ich bei dem Verhalten durch nachträgliches Einfügen, „smbclient -L localhost -U%“ dazu bekommen habe, wie erwartet zu funktionieren.
Hier scheinen sich einige Dokus auf samba.org zu irren oder es war mal so und wurde geändert ohne die Dokus zu pflegen.
 
Oben