PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : passdb smbpasswd , Verständnisfrage



LarsThorwald
05.02.05, 15:07
Hallo zusammen,

ich hätte mal eine allgemeine Verständnisfrage zum Thema smbpasswd und passdb.

Ich offenbare einfach mal mein Wissen :D und bitte euch darum mir zu sagen, ob ich richtig liege.

In der smbpasswd wird ein User für den Sambaaccount angelegt. Diese gilt nur für Samba. Nicht selber für Linux. In dieser wird auch das verschlüsselte Passwort abgelegt. Meldet man sich an von XP an Samba an, ist man nur auf dem Samba angemeldet. Ein Zugriff auf die freigegebenen Ressourcen ist nicht möglich.
Im einfachen Fall muss dafür extra ein gleichnamiger User angelegt werden.
Mit dem SambaUser ist ein Zugriff auf die Ressource nicht möglich, weil das verschlüsselte Passwort in smbpasswd nicht von Linux gelesen werden kann, da das Passwort Microsoftkonform verschlüsselt ist (Microsoft verwendet eine etwas andere Verschlüsslung.)

Dafür gibt es dann die passdb. In dieser wird der SambaUser und das Passwort gespeichert. In diesem Fall wird das verschlüsselte Passwort in einer lesbaren Form für Linux gespeichert.

Ein Ablauf würde dann wie folgt aussehen:

XP Client meldet sich am Samba mit einem Usernamen und Passwort an
Stimmen die Angaben in der smbpassewd mit den angebenen User und Passwort überein, so ist XP Clent an Samba angemeldet.

Um auf die freigegeben Ressource zugreifen zukönnen, muß dafür ein lokaler gleichnamiger User benutzt werden. Da Linux das Passwort aus der smbpasswd nicht lesen kann, holt sich Linux das Passwort aus der passwd, sofern dort ein gleichnamiger User mit dem Passwort eingetragen ist.

Liege ich hiermit richtig oder falsch?

wenn ich ein smbpasswd -a eingebe, dann möchte ich auch wissen warum ich einen Eintrag in der passdb tätigen muss

Gruss
Lars

emba
07.02.05, 16:56
hi

sagen wir zu 50% liegst du richtig
befasse mich mehr oder weniger auch gerade mit dem thema

damit ein windowsbenutzer resourcen des samba servers, und somit auch die resourcen des linuxsystems wie filesystem, ... , nutzen kann, benoetigt er POSIX-Attribute

die windowswelt kennt diese attribute nicht, deshalb sorgt samba dafuer, dass ein windowsaccount auf einen linuxaccount abgebildet wird, indem es einen gleichnamigen POSIX-account bei der erstellung eines windowsaccounts mittels "smbpasswd -a" verlangt

es hat also nichts mit dem passwort zu tun, sondern vielmehr damit, dass ein mapping vollzogen werden muss

bspw. startet samba prozesse ausgehend vom parentprozess immer mit uid="sambaaccount"
samba besteht also vor der anlegung eines sambaaccounts auf das bestehen eines gleichnamigen POSIX-accounts

selbst die smbpasswd ist eine passdb - im sinne von samba v3 nur eine veraltete
es gibt weitaus maechtigere passdb, wie openldap, die es ermoeglichen, alle attribute eines nutzers aus beiden welten in einen eintrag zu vereinen

dennoch ist es auch mit einem solch maechtigen passdb-backend nicht moeglich, einen samba nutzer anzulegen, der ohne POSIX-attribute auskommt (es sei denn, es handelt sich um einen win9x account, der ohne trust auskommt - win9x nutzer hingegen sind von dieser ausnahme aber wieder ausgeschlossen)

so far

ps: linux kann das passwort aus der smbpasswd lesen, denn es handelt sich um bekannte algorithmen und ohne es lesen zu koennen, koenntest du dich nicht einmal anmelden :)


greez

LarsThorwald
07.02.05, 19:18
Hi,

wenn ich dich richtig verstanden habe, erzeugt smbpasswd ein Windowsaccount für den Samba und der Parameter -a erzeugt einen gleichnamigen POSIX Account, damit der Windowsaccount auf ein Linuxaccount gemappt werden kann.
Woher kann man solche Informationen bekommen? Ich habe ein Samba Buch hier, aber leider steht diesbezüglich nix über POSIX drinnen. Ich selber bin Linuxanfänger und suche entsprechend Quellen, die einem die Sachen verständlich erklären können. Das oft gefundene wird teilweise in so eine Terminologie verfassst, daß ein Einsteiger das nachsehen hat

Gruss
Lars

emba
09.02.05, 07:45
was smbpasswd mit entsprechenden parametern macht, steht in der manual - zumindest legt "-a" keinen POSIX account an, sondern einen sambaaccount, falls dieser noch nicht vorhanden ist

erste anlaufstelle zum verständnis von samba ist meiner meinung nach
www.samba.org (siehe docs)

desweiteren sollte man regelmässig die mailingliste studieren
über samba gibt es im web sicherlich auch zu hauf (deutsche) informationen

smbpasswd -a verlangt, dass ein gleichnamiger POSIX-account vorhanden ist, da sonst die 1:1 beziehung scheitert

greez

DaGrrr
09.02.05, 08:21
Oreilly bietet das Samba Buch in der 2. Auflage kostenlos an:

http://www.oreilly.de/german/freebooks/samba2ger/

Ein Blick lohnt sich und sollte einige Fragen beantworten können.

Grüße
DaGrrr