Solaris 11/ZFS SMB WTF

hotzen

Enthusiast
Thread Starter
Mitglied seit
09.06.2010
Beiträge
602
Ort
Hamburch
Hallo

habe ein Solaris 11 Express aufgesetzt und spiele mit awesome ZFS rum.
Probleme macht mir noch die SMB-Freigabe.

Ich kann mich von Win7 aus nicht authentifizieren. pam.conf habe ich nach Solaris-Docu ergänzt und mit passwd erneut Passwort fuer meinen User vergeben, damit das SMB-Passwort auch (neu) generiert wird.

Liegt das evntl. an den Lanman Sicherheitseinstellungen, die seit Vista Encryption erzwingen?
Also ist sowas nötig?
Code:
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
	DWORD  DomainCompatibilityMode = 1
	DWORD  DNSNameResolutionRequired = 0

HKLM\System\CCS\Services\Netlogon\Parameters
	DWORD  RequireSignOnSeal = 0
	DWORD  RequireStrongKey = 0

Und: wie vergebt ihr Rechte auf eure Freigaben?
Setzt ihr überhaupt/prinzipiell mit chown/chgrp die grundlegenden Rechte des freigegebenen ZFS-Filesystems?

Oder SMB-Berechtigung rein über die ACL á la:
Code:
brot@solaris:/tank/shared/.zfs/shares# ls -lv
total 1
-rwxrwxrwx+  1 root     root           0 Jan 22 00:14 tank_shared
     0:everyone@:read_data/write_data/append_data/read_xattr/write_xattr
         /execute/delete_child/read_attributes/write_attributes/delete
         /read_acl/write_acl/write_owner/synchronize:allow

Bin dankbar für Tritte in die richtige Richtung... experimentiert wird sonst erst Sonntagabend weiter :(
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
der Anfang ist schon mal richtig.

vorneweg daran denken, beim Anlegen eines ZFS, das auf insensitive oder mixed zu setzen und aclinherit zu aktivieren, damit es mehr Windows-like funktioniert..

was fehlt.
1.
auf Solaris einen user administrator anlegen (default windows admin)
mapping winuser administrator = unixuser root

2. ZFS Permissions
einfachster Weg:
unix: 777
ACL: defaults (niemand darf irgendetwas) löschen und z.B. folgendes setzen
Root darf alles, alle dürfen ändern

vgl Nexenta Project - ZFS Permissions - The Nexenta Project

weitere user auf Solaris anlegen und opt. in die SMB-Gruppen aufnehmen
(unixgroup egal)

Anschliessend von Win aus als administrator anmelder und ACL von dort aus setzen.

oder:
an Solaris anmelden, Console öffnen, mit su root-Rechte holen und dann:
wget -O - www.napp-it.org/nappit | perl

aufrufen. Damit wird Solaris komplett konfiguriert und meine Web-Gui napp-it installiert. (opt. mit AMP und AFP). Dauert 5 Minuten und vielleicht gefällt es ja - ansonsten einfach den dabei angelegte BE System-Snapshot wieder löschen.

Man kann dann die Solaris-NAS per Browser konfigurieren unter http://serverip:81

Gea
 
Zuletzt bearbeitet:
Danke, ich benutze schon seit paar Tagen parallel napp-it um zu schauen, wie du die system-konfiguration umsetzt. Durchaus gelungenes Projekt, cool wäre noch wenn jedes CLI-commando auch explizit angezeigt wird.

Ich will erstmal den schweren Weg ohne guestok gehen, damit ich sicher bin, dass die authentifizierung klappt. Dort hänge ich noch immer.


Code:
brot@solaris:~$ idmap list
add -d	winuser:Administrator@*	unixuser:root
add -d	winuser:brot@*	unixuser:brot

Somit müssten doch Administrator und brot auf die existierenden solaris-user gemappt werden.

Wenn ich mich manuell mit
Code:
net use \\solaris /user:brot
authentifiziere, kommt auch prompt und dann "command completed successfully", jedoch steht in /var/adm/messages

Code:
Jan 23 22:33:32 solaris smbd[5812]: [ID 136767 daemon.error] smb_lgrp_getsid: failed to get a SID for user id=2147483650 (-9981)
Jan 23 22:33:32 solaris smbd[5812]: [ID 817528 daemon.error] smb_lgrp_iterate: cannot obtain a SID
Jan 23 22:33:32 solaris smbd[5812]: [ID 136767 daemon.error] smb_lgrp_getsid: failed to get a SID for user id=2147483650 (-9981)
Jan 23 22:33:32 solaris smbd[5812]: [ID 817528 daemon.error] smb_lgrp_iterate: cannot obtain a SID
Jan 23 22:35:32 solaris smbd[5812]: [ID 812811 daemon.notice] logon[win-host\brot]: WRONG_PASSWORD

Da komme ich einfach nicht weiter...
 
es wird gerne problematisch, wenn man versucht, das
ganze über mappings zu erledigen.

Ich würde mit "ganz simpel anfangen"

wenn smb bereits manuell oder durch Installation von napp-it
konfiguriert ist, dann:

1. alle mappings löschen
opt. user anlegen

2. auf der console mit passwd root das passwort neu setzen
(damit wird auch ein smb-passwort für root angelegt)

3. den Server von einem Windows-Rechner aus connecten
Achtung: Nicht mit ip sondern mit Rechnername z.B. \\host

4. als root anmelden (-> full access)

5. Jetzt ACL auf Ordner setzen (mit allen lokalen oder AD-usern)
- defaults mit allow/deny löschen und gewünschte setzen


Mapping macht alles kompliziert.
Ich mache das eigentlich immer nur mit ad-admin = root

ps
das heutige napp-it unterstützt zumindest auf SE11 als smb-user auch space und Grossbuchstaben wie "Peter Meier"

Gea
 
Zuletzt bearbeitet:
Ah, nur mit root geht das zwar, allerdings ist das alles noch sehr AD-zentriert oder?

Über die ACL kann ich nur die lokalen Benutzer vom solaris einrichten, also quasi das AD durchsuchen, wie bei einem Windows-DC.
Der idmap-Daemon scheint somit auch mit der alternativen Syntax host\user mit host einen DC zu meinen, statt einem beliebigen Windows-Host?

Geht das ganze auch ohne AD-Benutzerverwaltung, mit lokalen Benutzern in einer oldschool Workgroup?

z.b. Rechner meiner Freundin mit ihrem Nutzer FreundinHost\FreundinUser, sowie MeinNotebook\NotebookUser und MeineWorkstation\WorkstationUser?
Das ganze AD-Zeuch habe ich hinter mir, das macht in einem HomeLAN weder Spaß noch wirklich Sinn :(

Das läuft also darauf hinaus, dass ich alle Benutzer als lokale Benutzer auf der solaris einrichte und mich mit diesen credentials dort auch anmelde?

Vielen Dank für deine Hilfe!

P.S. wo muss ich denn schauen was dein napp-it als Bootstrapping-Konfigurationen anlegt? z.b. "set default folder acl of /tank/shared to <SMB>"

Und Btw, der self-contained mini-httpd den du da mitlieferst... der scheint zumindest im Virtualbox-Image unfassbar langsam zu sein. Geht da nicht auch ein lighttpd oder liegt das am Perl-Interpreter?
Wie gesagt, es wäre ein Traum wenn du Console/Courier New mäßig auszeichnen würdest, welche CLI commands dein napp-it absetzt. Gerade als Solaris-Anfänger kann man damit ne Menge lernen...
Danke nochmal.
 
Ah, nur mit root geht das zwar, allerdings ist das alles noch sehr AD-zentriert oder?

Über die ACL kann ich nur die lokalen Benutzer vom solaris einrichten, also quasi das AD durchsuchen, wie bei einem Windows-DC.
Der idmap-Daemon scheint somit auch mit der alternativen Syntax host\user mit host einen DC zu meinen, statt einem beliebigen Windows-Host?

Geht das ganze auch ohne AD-Benutzerverwaltung, mit lokalen Benutzern in einer oldschool Workgroup?

z.b. Rechner meiner Freundin mit ihrem Nutzer FreundinHost\FreundinUser, sowie MeinNotebook\NotebookUser und MeineWorkstation\WorkstationUser?
Das ganze AD-Zeuch habe ich hinter mir, das macht in einem HomeLAN weder Spaß noch wirklich Sinn :(

Das läuft also darauf hinaus, dass ich alle Benutzer als lokale Benutzer auf der solaris einrichte und mich mit diesen credentials dort auch anmelde?

Ich glaube, hier bringst du etwas durcheinander.
Es gibt bei der Benutzerverwaltung jedes Windows oder Solaris-Servers
nur zwei Möglichkeiten:

1. Workgrpoup mode
In dem Fall werden die Benutzer auf jedem Server angelegt, auf dem man zugreifen möchte. Lokale user auf dem Solaris anlegen und mit diesen Daten auf den Server zugreifen = workgroup mode. Mit den usern, die du auf den Arbeitsplätzen angelegt hast, kannst du mit keinem Server der Welt etwas anfangen, ausser du legst die auch auf allen Servern an.

Im workgroup modus macht mapping wenig Sinn. Mapping ist nur wirklich notwendig wenn ein Windows-smb-user auf der Solaris irgendwelche speziellen unix-Rechte braucht, die einem Solaris-user zugeiwiesen wurden.

2. AD= Active Directory
Bei diesem Verfahren werden user ausschliesslich zentral auf dem AD Server angelegt. Alle Rechner, die mit dieser zentralen Benutzerdatenbank arbeiten möchten, müssen in diese AD-Domäne aufgenommen werden. Lokale useraccounts werden nicht benutzt. Man kann sich dann mit dem einem AD Benutzeraccount anmelden und hat ohne weitere Anmeldung damit Zugriff auf alle Server. In diesem Fall macht ein mapping winuser: domänenadmin = unixuser: root sehr viel Sinn. Weitere mappings sind aber auch hier nur in Sonderfällen sinnvoll.

P.S. wo muss ich denn schauen was dein napp-it als Bootstrapping-Konfigurationen anlegt? z.b. "set default folder acl of /tank/shared to <SMB>"

Editmodus in napp-it setup einchalten und dann den Menüpunkt folder-create editieren. Da stehen alle actions drin (oder in der zugehörigen Bibliothek in ../zfsos/_lib).

Und Btw, der self-contained mini-httpd den du da mitlieferst... der scheint zumindest im Virtualbox-Image unfassbar langsam zu sein. Geht da nicht auch ein lighttpd oder liegt das am Perl-Interpreter?
Wie gesagt, es wäre ein Traum wenn du Console/Courier New mäßig auszeichnen würdest, welche CLI commands dein napp-it absetzt. Gerade als Solaris-Anfänger kann man damit ne Menge lernen...
Danke nochmal.

Hast du vielleicht 0.414l. da ist ein Performancebug mit minihttp drin,
wenn ja, dann update.

Prinzipiell geht jeder Webserver, keiner ist aber kleiner als minihttpd.

ps:
Commandos anzeigen - etwas schwierig, manchmal steckt einfach zuviel Logik und zuviele Abläufe hinter einer Aktion. Da hilft dann nur, den Quellcode anschauen (relative einfache perl-Sachen)
 
Ja, ich dachte nur man könnte trotz Workgroup-Modus die User der Client-Maschinen in den ACL einpflegen ohne diesen einen separaten, lokalen Benutzer zuweisen zu müssen. Das wäre natürlich zu "magisch"...

Vielen Dank für deine Hilfe.
 
Ja, ich dachte nur man könnte trotz Workgroup-Modus die User der Client-Maschinen in den ACL einpflegen ohne diesen einen separaten, lokalen Benutzer zuweisen zu müssen. Das wäre natürlich zu "magisch"...

Vielen Dank für deine Hilfe.

ich habe übrigens mein mini howto aktualisiert:
napp-it.pdf

Gea
 
Solltest dich mal als ZFS-Evangelist bewerben ;) Props für die Zeit, die du da reininvestierst!

Um das SMB-Thema etwas auszubauen, kennst du eine schöne Lösung um automatisiert Backups von Win7 auf ein ZFS-Share zu fahren?

Nimmt man da das Win7 eigene Backup/Restore um ein System-Image wegzusichern? Sowie robocopy um Documents u.ä. synchron zu halten, in Verbindung mit snapshots um die einzelnen Stände wie bei einem inkrementellen Backup festzuhalten?
Je Benutzer ein eigenes Backup-FS? Muss man da auf spezielle FS-Optionen achten, die vorgenommen werden müssen?

Habe mich mal durch deine Perl-Sourcen gewühlt und sachen wie utf8only u.ä. extrahiert...
 
Ich arbeite natürlich beruflich mit Storage und Virtualisierung und
Napp-it ist für mich auch zunächst ein Tool für meine eigenen Installationen.
Es macht aber richtig Spass, mit ESXi und ZFS zu arbeiten.

Ich kenne auch niemand aus der IT, der nicht begeistert ist, wenn
er es unvoreingenommen näher kennengelernt hat.

napp-it freigeben und ansatzweise supporten ist natürlich Hobby.


Gea
 
hütet euch davor die passwd manuell zu bearbeiten, ich habe mir die ganzen SID infos zerschossen und finde keinen Command um diese zu modifizieren. Bei idmap taucht die Administrators group gar nicht mehr auf.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh