FreeBSD Samba PDC Howto

hi,

bei samba ist wichtig, dass die GID des Users einer Gruppe entspricht.
Soll bedeuten, dass der User Arnold zum Beispiel als erster in der Gruppe smb-admin sein muss...

Das findest Du heraus, wenn Du # chsh <Username>
eintippst.

Dann sollte bei der GID die Nummer der Admin Gruppe stehen.


CAT
 
@ShitHappens

Wenn Du nach dem Samba-PDC Howto vorgegegangen bist, dann hast Du vermutlich das groupmapping mit dem Paramater "add" angelegt. Das ist aber leider nicht richtig und wurde vor wenigen Tagen auch im Howto korrigiert.
Der Parameter "add" führt in diesem Fall dazu, dass ein zweiter Eintrag für die Gruppe der Admins angelegt wird. Die ursprüngliche Gruppe bleibt aber davon unberührt und somit LEER.
Überprüfe mal mit dem von cat1510 bereits erwähnten Befehl
Code:
net groupmap list
ob Du auch wirklich nur ein Group-mapping für die Admin-Gruppe eingetragen ist und ob diese dann auch wirklich auf Deine smb-admin Gruppe gemappt ist.

Gruß,

Ice
 
Hallo

@Ice: Hab die Group-mapping mit dem Parameter modify angelegt. Also Domain Admins war und ist nicht doppelt vorhanden.

Mein Fehler war es allerdings, dass ich zuerst die User angelegt hab und dann das Group-mapping geändert hab. Deshalb bekam mein User nicht die RID der Admin Gruppe, sonder der Usereigenen Gruppe.
Meine Lösung des Problems war:
User nochmals löschen.
mit pdbedit den User nochmals angelegt und dabei, aber explizit dir RID der Admin Gruppe angegeben, seit dem tuts.

Code:
pdbedit -a -G "Gruppen ID" -u "username"

Gruß ShitHappens
 
ssh/telnet geht nicht mehr...server inetd[438] ssh/tcp: bind: adress already in use

Hallo!

Ich habe das Howto von Highfish bis "6. FreeBSD up to date halten" durchgearbeitet.

Doch ich habe von Anfang an per ssh/telnet von meiner Workstation aus gearbeitet, da mein Server aus Platzgründen sehr ungelegen plaziert ist um davor zu Arbeiten.
Habe einfach bei der Installation in sysinstall in inetd ssh/telnet freigeschaltet.

Doch nun nach "make installworld" am Ende von "6. FreeBSD up to date halten" kann ich mich nicht mehr per ssh/telnet connecten.

Diese Meldung erscheint ab und an auf dem server:
May 22 21:10:15 server inetd[438] ssh/tcp: bind: adress already in use
Woran liegt das?



Ein anderes Problem noch nebenbei. Ist das normal?
Nach der Meldung gehts mindestens eine Minute bis login kommt.
May 22 21:10:15 server sm-mta[396]: My unqualified host name (server) unknown; sleeping for retry


gruß & thx
merkas
 
Zuletzt bearbeitet:
Mal abgesehen davon, dass das hier irgendwie der falsche Thread für Deine Frage ist........... :confused:

Nach dem Update läuft der SSH-Daemon jetzt wohl als Dienst bereits außerhalb von inetd. Somit erklärt sich die Meldung, dass die Adresse bereits benutzt wird.

Versuchst Du, Dich als root per ssh anzumelden? Per default ist in der sshd_config der direkte Root-Login per ssh denied.

Gruß,

Ice
 
Mein Problem was dass ssh in inetd und in der rc.conf enabled war.
Passt aber jetzt wieder.


Noch ne Frage:
Wenn ich in die sshd_config das hinzufüge was highfish angibt,
muss ich aber schon noch in die rc.conf die zeile sshd_enable="YES" eintragen ?
 
Aehm Merkas, das ist immer noch der falsche Thread dafuer... ;)

Ja man muss mittlerweile erst viele Sachen in der rc.conf enablen, das ist die zentrale Dienste verwaltung.

Hier geht es in erster Linie um Samba Probleme selbst.
 
smb.conf

ich habe mich entschieden, die smb.conf ohne webmin zu editieren und wollte deshalb wissen, wo man folgende eintraege machen muss:

Server Type: Domain Controller
Configure WINS As: Server for client use
Expose Home Directories: yes

das tutorial ist uebrigens echt hilfreich und gut gelungen.

gruss
fabian
 
knoppers schrieb:
ich habe mich entschieden, die smb.conf ohne webmin zu editieren und wollte deshalb wissen, wo man folgende eintraege machen muss:

Server Type: Domain Controller
Configure WINS As: Server for client use
Expose Home Directories: yes

das tutorial ist uebrigens echt hilfreich und gut gelungen.

gruss
fabian

server type ist am besten user, wenn Du es alsl PDC benutzen willst...
WIN As?? Was willst DU uns damit sagen?
Home directories kannst einfach mit einer Freigabe realiesieren.
Werde ich Dir gern morgen posten, wenn ich meine Konfig am Start habe.



MFG


CAT
 
guten abend,

ich hab' die angaben aus dem tutorial. man soll mit webmin diese einstellungen uebernehmen.
ich wollte also wissen, ob die konfiguration des wins der dargestellten situation "server for client use" entspricht, ob ich fuer den servertype "domain controller" parameter in der smb.conf aendern muss und was mit "expose homedirectories" gemeint ist.
aber ich denke, dass das nur heisst, dass die home directory der user freigegeben ist. die wins konfiguration hast du ja schon beschrieben. jetzt fehlt mir nur noch, was mit "server type: domain controller" bewirkt wird.
ich werde meine smb.conf dann auch noch posten. vielleicht hat jemand verbesserungsvorschlaege.

vielen dank und gruss
fabian
 
Hi,

DOMAIN Level Security

Dieser Parameter funktioniert nur dann korrekt, wenn das Kommando net verwendet wurde, um die Maschine in an einer Windows NT-Domain anzumelden. Dieser Security-Level erwartet verschlüsselte Passwords, daher muss der Parameter encrypted passwords mit dem Wert true belegt werden. In dieser Einstellung wird Samba die User-Name/Password-Validierung an einen Windows NT-PDC oder Windows NT-BDC übergeben (siehe Glossar BDCbdc und PDCpdc). Die Validierung wird dann von einem der Controller durchgeführt, wobei die Übergabe der User-Name/Password-Kombination völlig intransparent für den Windows NT-Domain-Controller geschieht. Das bedeutet, dieser Controller kann nicht feststellen, ob ein Samba-Server diese Validierungsanfrage gestellt hat.


Und alles nochmal zum nachlesen in komplett deutsch...

http://www.millin.de/downloads/3-89990-121-5/kapitel17/node262.html


;)

CAT
 
danke fuer den link. die einzelnen security levels sind da gut erklaert. ich werde dann mal meine smb.conf posten. vielleicht faellt dir oder jemand anderem etwas auf, was du oder er anderes machen wuerde.
 
smb.conf

Code:
#======================= Global Settings =====================================
[global]
   workgroup = $workgroup

   server string = $hostname

   security = user

;   hosts allow = 192.168.1. 192.168.2. 127.

   load printers = yes

;   printcap name = /etc/printcap

;   printcap name = lpstat

;   printing = cups

;  guest account = pcguest

   log file = /usr/local/samba/var/log.%m

   max log size = 50

;   password server = <NT-Server-Name>

;   realm = MY_REALM

   passdb backend = tdbsam

;   include = /usr/local/samba/lib/smb.conf.%m

   socket options = TCP_NODELAY 

;   interfaces = 192.168.12.2/24 192.168.13.2/24 

;   local master = no

   os level = 65

   domain master = yes 

   preferred master = yes

;   domain logons = yes

;   logon script = %m.bat

;   logon script = %U.bat

    logon script = logon.bat
    logon drive = m:
    logon home = \\%L\%U

   logon path = \\%L\profiles\%U

;   wins support = yes

;   wins server = w.x.y.z

;   wins proxy = yes

   dns proxy = no 

;  add user script = /usr/sbin/useradd %u
;  add group script = /usr/sbin/groupadd %g
;  add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
;  delete user script = /usr/sbin/userdel %u
;  delete user from group script = /usr/sbin/deluser %u %g
;  delete group script = /usr/sbin/groupdel %g


#============================ Share Definitions ==============================
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   create mask = 0700
   security mask = 0700
   directory mask = 0700
   directory security mask = 0700
   veto files = /.*/

 [netlogon]
   comment = Network Logon Service
   path = /data/smb/netlogon
   guest ok = yes
   writable = no
   share modes = no
   browseable = no

[Profiles]
    path = /data/smb/profiles
    browseable = no
    guest ok = yes
    readonly = no
    create mask = 0600
    security mask = 0600
    directory mask = 0700
    directory security mask = 0700
    browseable = no

;[printers]
;   comment = All Printers
;   path = /usr/spool/samba
;   browseable = no
;   guest ok = no
;   writable = no
;   printable = yes

;[tmp]
;   comment = Temporary file space
;   path = /tmp
;   read only = no
;   public = yes

[$user]
   comment = $users's stuff
   path = /data/smb/$user
   write list = $user
   security mask = 0744
   directory security mask = 0756

ich wollte auch noch wissen, wo das logon script gespeichert sein muss.

vielen dank und gruss
fabian
 
hi,

das logon script wuerde ich von *.bat nach *.cmd umbenennen.
Denke aber das ist subjektiv und hat keinen Einfluss auf die Funktion.


Das ist alles ein bisschen wirr in Deiner smb.conf finde ich.


Wieviele Netzwerkkarten hat Dein Server? 2!? 192.168.12.2 192.168.13.2
Also ich vertrete die Meinung einen Service an ein Interface zu binden, nicht an eine IP. Aendert sich in Deinem Netzwerk aus welchen Gruenden auch immer die IP musst Du durch alles Konfig's toben und das aendern. Dabei uebersieht man schnell was und wundert sich, warum es nicht klappt.
interfaces = fxp0

Die Anmeldescripts musst Du in die netlogon Freigabe kopieren.
Sie muessen von Windows ausfuehrbar und lesbar sein (DOS Format).

Dein Server soll als PDC fungieren, soll aber keine Domain Logon zulassen?!
Und er soll sich die Authentification von einem anderen Server holen?

Wieviele Server hast Du in Deinem Netzwerk? PDC BDC oder was auch immer?
Die auskommentierten Teile entweder entfernen oder mitreinnehmen, sont weiss man nicht ob man die bei der Erklaerung beruecksichtigen muss oder nicht...

CAT
 
ich hab' die urspruengliche smb.conf veraendert und zum posten alle textkommentare rausgeschnitten.
zu deinen fragen: ja, mein server hat zwei netzwerkkarten. ich betreibe einen server im netzwerk. wo steht, dass er sich die authentification von einem anderen server holen soll?
ich aender die config und poste sie dann noch einmal.

danke und gruss
fabian
 
hier also meine veraenderte smb.conf. alle nicht aktiven parameter hab' ich herausgenommen.

Code:
#======================= Global Settings =====================================
[global]

   workgroup = $workgroup
   server string = $hostname
   security = user
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   passdb backend = tdbsam
   socket options = TCP_NODELAY 
   interfaces = $interface
   os level = 65
   domain master = yes 
   preferred master = yes 
   domain logons = yes
   logon script = logon.cmd
   logon drive = m:
   logon home = \\%L\%U
   logon path = \\%L\profiles\%U
   dns proxy = no 

#============================ Share Definitions ==============================
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   create mask = 0700
   security mask = 0700
   directory mask = 0700
   directory security mask = 0700
   veto files = /.*/

 [netlogon]
   comment = Network Logon Service
   path = /data/smb/netlogon
   guest ok = yes
   writable = no
   share modes = no
   browseable = no

[Profiles]
    path = /data/smb/profiles
    browseable = no
    guest ok = yes
    readonly = no
    create mask = 0600
    security mask = 0600
    directory mask = 0700
    directory security mask = 0700
    browseable = no

[public]
   comment = Public Stuff
   path = /data/smb/pub
   public = yes
   writable = yes
   printable = no
   write list = @smb-users
   readonly = no
   create mask = 0777
   directory mask = 0777

[$user]
   comment = $user's stuff
   path = /data/smb/$user
   write list = $user
   security mask = 0744
   directory security mask = 0755
 
soo sieht das doch gut aus.

Code:
[global]
        workgroup = BYTEWORKER
        netbios name = GATEWAY
        server string = GATEWAY
        security = user
        passdb backend = tdbsam
        log file = /var/log/samba/log.%m
        max log size = 50
        load printers = No
        logon script = scripts\%U.cmd
        logon path =
        logon home =
        #\\%L\profiles\%U
        domain logons = Yes
        os level = 65
        hosts allow = 10.0.1.
        interfaces = fxp0
        bind interfaces only = yes
        preferred master = Yes
        domain master = Yes
        wins support = Yes
        guest account = nobody
        map to guest = Bad User

Zum Vergleich mal meine smb.conf.
Diese erhebt keinen Anspruch auf Vollstaendigkeit.

Ist Dir klar, was mit Roaming Server Profiles gemeint ist?
Meiner Meinung nach ein Krampf.

Windows legt alle Profile ja local ab. Du willst die Profile aber auf Deinem Server haben. Meldest du Dich nun an 'synchronisiert' Win das lokale Profile mit dem auf dem Server. Extrem Kacke, wenn Dein Profil 6GB gross ist und fast nur aus Temporary Internet Files besteht... Zeit, Zeit, Zeit. Das ist dann bei Win immer die Stelle, an der steht: Benutzereinstellungen werden geladen.
Also ich rate von diesem Profil Kack ab.

logon path =
logon home =

Wenn diese keinen String enthalten wird die Funktion abgeschaltet.


CAT
 
das hab' ich nicht gewusst. das synchronisieren ist ja dann eigentlich ein grosser sch***. der server sollte ja eigentlich das zentrum sein. er ist schliesslich dazu da die ganzen benutzerdaten/-informationen zu verwalten. und wenn der server sowieso die ganze laeuft, dann benoetigt man gar keine andere authentifizierungsmoeglichkeit mehr.

danke fuer dein verstaendnis und deine hilfe.

gruss
fabian
 
hab' ich das richtig verstanden, wenn ich sage, dass du einen fileserver betreibst und keine pdc? bei dir sind alle profile lokal auf den einzelnen workstations gespeichert und du benutzt samba nur um daten zu sichern und abzurufen. kann es auch sein, dass mein samba dienst gar nicht funktioniert, wenn der server ueber dieselbe netzwerkkarte als gateway funktioniert?
 
Zuletzt bearbeitet:
Warum heißt der Artikel nicht einfach Samba PDC?

Ich würde nicht schreiben wie man was installiert, sondern nur was man installieren muss.
 
Eine Sache, die mir negativ aufgefallen ist, bezieht sich auf die Verwendung von Buzzwords wie "Single Sign On". Gerade am Artikelanfang wird hervorgehoben, daß dies eine der Neuerungen gegenüber dem Ur-Artikel sei. Speziell heißt es im Artikel an zwei Stellen:
http://wiki.bsdforen.de/index.php/FreeBSD_-_Samba_PDC schrieb:
Weiter soll sich der Benutzer mit dem gleichen Benutzernamen und Passwort (Fachbegriff: Single Sign On) an den FreeBSD-Rechnern anmelden können.

So ist ein Single Sign One (SSO) möglich. Single Sign One bedeutet, dass der Benutzer immer nur ein Passwort verwendet.
(Da sind noch zwei e zuviel, was aber im Prinzip unerheblich ist, da der Begriff in diesem Zusammenhang ohnehin nichts zu suchen hat.)

Nein. Das, was da beschrieben wird, nennt man "Zentrale Benutzer- und Paßwort-Verwaltung". Single Sign On dagegen ist, wenn sich ein Benutzer nur ein einziges Mal am System authentifizieren (= sign on) muß und dann für alle nachfolgenden Authentifizierungsvorgänge automatisch die vorher einmal eingegebenen Paßwörter/Passphrases verwendet werden. Bei Windows passiert das automatisch. Unter FreeBSD wäre etwa der ssh_agent(1), welcher sich sehr komfortabel mit pam_ssh(8) verbinden läßt, ein Beispiel für ein Single Sign On.

Eine "Zentrale Benutzer- und Paßwort-Verwaltung" ist für ein "Single Sign On" zwar nützlich, im Falle des ssh-agent(1) beispielsweise aber noch nicht einmal nötig.

Bevor man also mit Buzzwords um sich wirft, sollte man sich erst einmal darüber informieren, was sie denn eigentlich heißen. Und da es hier ja ums Wiki geht, hätte man auch gleich in einem Wiki nachlesen können: http://de.wikipedia.org/wiki/Single_Sign_On (paßt nicht ganz auf die vorliegende Thematik, verdeutlicht aber zumindest das Prinzip).
 
hi folks,

habe die original fassung der beschreibung benutzt um alles mit FreeBSD 6.0-RELEASE zu installieren.

Hatte alles einwandfrei geklappt. Habe bislang vieles anderst gemacht und war mal neugierig es mal "anderst" zu machen. Genial !

Gratulliere! grossartige Doku!
 
Bin nach dem neuen Wiki-Artikel vorgegangen und stecke fest :(

In Verzeichnis /var/db/openldap-data/ fehlen mir folgendes File:

  • id2entry.bdb
Und vermutlich auch:
  • dn2id.bdb

slaptest gibt folgende Fehlermeldung:
Code:
ceviserver# slaptest
bdb_db_open: db_open(/var/db/openldap-data/id2entry.bdb) failed: No such file or directory (2)
bdb(dc=socin15,dc=cevibasel,dc=ch): Unknown locker ID: 0
backend_startup_one: bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch)


Verwende ich den Schalter -u (wie oben vorgeschlagen), so funktioniert alles einwandfrei:

Code:
ceviserver# slaptest -u
config file testing succeeded

Das Starten des LDAP-Servers schlägt ebenfalls fehl. Es war ja nichts anderes zu erwarten. :rolleyes:

Ein touch /var/db/openldap-data/id2entry.bdb hat auch nicht den gewünschten Erfolg gezeigt (unexpected file type or format).

Google hat was von db_create ausgespuckt, leider scheint dieser Befehl unter FreeBSD nicht vorhanden zu sein.

Alles was sich unter /usr/local/bin/db44 befindet ist:
Code:
berkeley_db_svc, db_checkpoint, db_dump, db_hotbackup, db_printlog, db_stat, db_verify, db_archive, db_deadlockm, db_dump185, db_load, db_recover, db_upgrade
Auf dem System ist sowohl DB4.3.29 und DB4.4.20.2 installiert.

OpenLDAP ist nur mit den Optionen TCP-Wrappers, BDB, Dynamic-Backends und Slurpd kompilliert.

Wie kann ich die notwendigen Datenbank (id2entry.bdb) erzeugen?
 
Zuletzt bearbeitet:
Zurück
Oben