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

Kann keine Samba-Benutzer erstellen

search

Newbie
hallo zusammen

habe auf meiner kiste suse linux 9.1 installiert und nachträglich den samba client und server installiert. nun wollte ich diesen konfigurieren. der server läuft soweit. ich sehe die maschine im netzwerk und kann auch also nobody darauf zugreifen. nun möchte ich jedoch samba user machen. dies funktioniert jedoch nicht. bekommen immer folgende fehlermeldung wenn ich den befehel smbpasswd -a Username ausführe

Code:
getsmbfilepwent: malformed password entry (no :)
getsmbfilepwent: malformed password entry (no :)
mod_smbfilepwd_entry: malformed password entry (no :)

weiter habe ich herausgefunden dass man eigentlich die benutzerliste /etc/passwd kopieren soll mit dem befehl cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
ich kann jedoch nirgens das file mksmbpasswd.sh finden. es existiert in keinem verzeichnis.

habe nun schon mehrer tage damit verbracht eine lösung zu finden, komme jedoch nicht weiter. hatte jemand vielleicht das selbe problem oder kann mir sonst jemand weiterhelfen?

bin für tips dankbar.

gruss search
 
Hi,

so hast du das gehört. Du musst zuerst mal ein Unix /linux User anlegen. Da du sonst kein Samba - User anlegen kannst. Und dann mit smbpasswd -a USERNAME PASSWORT (Klartext).

So dann musst du noch die Maschinenamen noch als Unixuser anlegen. Das musst du per Shellscript anlegen:

1. Script(Gruppe für Computer anlegen):
#!/bin/bash

groupadd -g 500 machines
mkdir /home/machines
chgrp machines /home/machines
chmod 750 /home/machines

2. Script (Maschinenacount anlegen):
#!/bin/bash
useradd -g machines -d /home/machines -s /bin/false pcxx$
smbpasswd -a -m pcxx$

3.Script(Passwort freischalten für Domäneeintrag)
#!/bin/bash

pw=`pwgen 8 1`
echo "Workstation-Aufnahme"
echo "username root"
echo "password $pw"
echo "gueltig: 5min"
smbpasswd -a root $pw
echo "smbpasswd -x root" | at +5min:

Alles klar??
 
OP
S

search

Newbie
hmmm.. nun ja, danke erstmals für die antwort. ich habe bereits diverse linux benutzer erstellt über yast. müssen die denn noch einer bestimmten gruppe sein oder so? den folgenden fehler erhalte ich wie bereits erwähnt wenn ich versuche den samba user zu erstellen das heisst wenn ich den befehl smbpasswd -a username password ausführe:

Code:
test:/etc/samba # smbpasswd -a segl test3t
getsmbfilepwent: malformed password entry (no :)
getsmbfilepwent: malformed password entry (no :)
mod_smbfilepwd_entry: malformed password entry (no :)

weiter bin ich noch gar nicht gekommen. was meinst du denn mit maschinennamen als unixuser anlegen? möchte auf meiner linux maschine jeglich ordner freigeben auf welche ich von windows zugreifen kann. wie bereits erwähnt läuft der server und ist im netzwerk sichtbar. ich kann auch als user nobody darauf zugreiffen. möchte nun jedoch gewisse ordner passwort schützen. daher brauche ich nun die samba user.

danke & gruss
 
Ich würde mal Samba komplett deinstallieren und neu installieren. Vielleicht bringt das was. Möchtest du Samba als Domänencontroller oder nur als Fileserver habn??
 
OP
S

search

Newbie
nur als fileserver. hab soeben mal die neuste version runtergeladen und drüber installiert. macht jedoch keinen unterschied. weiss irgendwie echt nicht was ich noch machen könnte. habe soeben auch gesehen das der ordner scripts bei mir unter /usr/lib/samba/ gar nicht existiert. dort sollte sich ja auch die mksmbpasswd.sh datei befinden. irgendwas scheint schief zu sein. noch irgend ne idee? werds sonst mal mit ner kompletten neuinstallation probieren.

gruss
 
Ich würd gleich neuinstallieren, ich mein Samba. Und installieren würde ich per yast machen. dann passt des nämlich.
Folgende Pakte sollten installiert werden:

rpm -ihv /RPM/CD1/suse/i586/cups-libs*
rpm -ihv /RPM/CD1/suse/i586/samba-client*
rpm -ihv /RPM/CD2/suse/i586/samba-3*
rpm -ihv /RPM/CD2/suse/i586/samba-vscan*
rpm -ihv /RPM/CD2/suse/i586/samba-doc*
rpm -ihv /RPM/CD5/suse/i586/LinNeighborhood*

Sind die alle installiert??
 

Fat_Fox

Hacker
ich verstehe nich wofür man für nen schlichten fileserver maschienenaccounts benötigen sollte...poste doch mal smb.conf smbuser und smbpasswd...danke.
 
OP
S

search

Newbie
hallo

smb conf sieht wie folgt aus:

smb.conf

# Samba config file created using SWAT
# from 127.0.0.1 (127.0.0.1)
# Date: 2005/06/14 09:23:15

# Global parameters
[global]
workgroup = WORKGROUP
server string = Linux
map to guest = Bad User
passdb backend = smbpasswd:/etc/samba/secrets.tdb
username map = /etc/samba/smbusers
load printers = No
logon path = \\%L\profiles\.msprofile
logon drive = P:
logon home = \\%L\%U\.9xprofile
os level = 2
preferred master = No
local master = no
domain master = No
ldap suffix = dc=example,dc=com
printer admin = @ntadmin, root, administrator
hosts allow = 9.159., 127.
add machine script =
domain logons = no
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
netbios name = linuxserver
security = user

[homes]
comment = Home Directories
valid users = %S
read only = No
inherit permissions = Yes
browseable = yes
guest ok = no
printable = no

[share]
comment = shared directory
path = /home/share/
browseable = yes
writable = yes
public = yes
read only = no


das smbpasswd ist leer und im smbusers befinden sich nur der user root und nobody

was meinst du mit maschinenaccounts. möchte eigentlich nur meine dirs schützen. wie müsste ich das sonst machen?

danke und gruss
 
Probier mal diese aus:

[global]
workgroup = WORKGROUP
server string = Linux
netbios name = linuxserver
os level = 255

preferred master = No
local master = no
domain master = No
domain logons = no
encrypt passwords = yes

security = user
map to guest = Bad User

[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = yes
guest ok = no
printable = no

[share]
comment = shared directory
path = /home/share/
browseable = yes
writable = yes
public = yes
read only = no
 

Fat_Fox

Hacker
also maschienenaccounts (Benutzerkonten für jeden physikalischen Rechner einer Domain) benötigt man nur in größeren Domainbasierten Netzwerken, und wenn der server als PDC arbeiten soll.

du brauchst den ganzen krempel also so nicht. es würde wenig helfen dir jetzt meine config zu posten aber ich glaube das prob liegt in hier:

passdb backend = smbpasswd:/etc/samba/secrets.tdb

kommentiere die Zeile mal aus und teste mal einen lokal auf dem server vorhandenen user mit smbpasswd -a username dem samba bekannt zu machen, der sollte dann in der smbpasswd auftauchen auf dem windows system muss dann noch der selbe user mit dem selben pw vorhanden sein und dann müsste es eigentlich funzen eventuell musst du noch deine shares anpassen...aber eins nach dem anderen.

ps schau dir mal das fileserver video hier aus dem forum an und schreibe ev. deine smb.conf komplett von hand neu...nur mit den optionen die da erwähnt werden...der swat hat da einiges ziehmlich durcheinandergewürfelt glaub ich
 
OP
S

search

Newbie
hallo,

danke für die zahlreichen antworten. werde das morgen gleich mal ausprobieren. melde mich dann wieder.

gruss
 
OP
S

search

Newbie
Fat_Fox schrieb:
passdb backend = smbpasswd:/etc/samba/secrets.tdb

super!!! an dem hats gelegen. konnte den user nun anlegen. muss ich nun zwingend auf meinen windows maschinen den selben user anlegen? wie läuft denn das genau? muss ich mich dann auch immer mit diesem user in windows anmelden um auf die shares zu kommen?

werde nun mal versuchen meinen shared folder passwort zu schützen.

vielen dank & gruss
 
Also du brauchst auf den Windows-Clients und auf den Unixsystem die gleichen User. Sonst wird das glaub nichts.
Aber das musst du einfach mal testen!!
 
OP
S

search

Newbie
hallo

ok, so wies aussieht muss ich mit dem windows benutzer eingeloggt sein damit ich auf die shares zugreifen kann. gibts da irgendwie keine andere möglichkeit wie man trotzdem auf die shares kommt? der server soll für mehrer leute zugänglich sein und es bestehen bereits accounts für diese leute auf der linux kiste. die usernamen auf linux stimmen jedoch nicht mit jenen auf windows überein. wäre es z.B. nicht mögliche einen samba user zu machen mit welchem dann alle auf berechtigten personen auf den server zugreifen können?

danke & gruss
 

Fat_Fox

Hacker
also: in der smbusers kannst du aliasnamen zu den auf dem server vorhandenen eintragen nach dem muster:

<linux-user> = <windowspendant> <anderes windowspendant>

wie das mit dem passwort klappt weiß ich nicht, ich kann mir aber vorstellen das der windowsnutzer das passwort haben muss das du ihm mit smbpasswort -a gegeben hast...ich habe meinen server leider grad nicht im user security laufen deswegen kann ichs auf die schnelle nicht testen.

einen nur lesezugriff kannst du recht einfach für alle ermöglichen indem du mit guest ok arbeitest...ich hoffe ich vertue mich jetzt nich, kann nemich sein das war nur für den share security level oder aber mit read und write list

wenn du wirklich vielen annonymen zugriff auf den server geben möchtest dann geh mit dem security level auf share runter und definiere die freigaben...zumbeispiel könntet du machen:

path = /testfreigabe
browseable = yes
read only = yes
guest ok = yes
write list = %S

damit müssten,das glaube ich zumindest, alle in deiner smbpasswd datei gespeicherten user schreibend und alle anderen lesend auf den server kommen, soll heißen ist ein windowsuser eingeloggt mit einem benutzernamen den der server kennt kann er schreiben, ist es ein anderer ist er guest und für den gilt read only Zugriff.

informiere dich dazu genauer in der doku...hier im forum findest du die entsprechenden links.
 
OP
S

search

Newbie
hallo

danke noch für deine antwort. sorry das ich mich erst jetzt wider melde. hab mir das mal angeschaut. diese mapping funktioniert irgendwie nicht richtig. hab das im smbuser mal eingefügt da tut sich jedoch überhaupt nichts. zugriff wird verweigert. hab folgendes gemacht.

habe meinen linux user zum smb user gemacht. also

smbpasswd -a username

diesem user habe ich das selbe passwort wie meinem windows benutzer gegeben. danach habe ich den user im smbuser hinzugefügt und mit meinem windows benutzer gleichgesetzt. danach den smb neugestartet und ausprobiert. gibt jedoch immer folgende meldung aus:

Code:
Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all preivous connections to the server or shared resources and try again...

bin jedoch sonst nirgend eingeloggt. verstehe denn sinn dieser meldung nicht. was müsste ich den sonst noch mach das das funktionieren könnte?

danke & gruss
 
OP
S

search

Newbie
ändert leider auch nichts an der sache. geht immer nocht nicht. immer noch den gleichen fehler wie zuvor. habe bei den ordner optionen auch noch valid users = mein username hinzugefügt. bringt jedoch auch nichts :(
sonst noch ideen?

danke & gruss
 

mpehl

Newbie
guckst du hier

http://www.linuxbu.ch/pdf4/kapitel09.pdf

Schritt für Schritt zum Fileserver

Viel Erfolg
 
Oben