SAMBA Server für FB7170 ohne ds-mod

mhh.. keine Ahnung. Normalerweise müsste nach Passworteingabe eine Datei geschreiben werden (smbpasswd). Dort sind die Passwörter gespeichert.

Kannst dir ja mal die Konfiguration von dem Samba-Package anschauen und mal vergleichen. Der ist bereits vorkonfiguriert mit zwei Usern (root und ftpuser).

EDIT:
unter den [global] Settings in der smb.conf kann man noch einen Verweis auf die Passwort-Datei setzen per 'smb passwd file=/var/samba/private/smbpasswd'
 
mit der datei smbpasswd erstelle ich ja das passwort. speichert er das dann in die gleiche (smbpasswd) datei oder erstellt er deiner meinung nach eine neue?
 
hier mal meine smb.conf:
Code:
[global]
log level = 2
interfaces = 192.168.178.1/255.255.255.0
guest account=root
workgroup=Msheimnetz
netbios name=FritzBox-7170
server string=Fritz!Box 7170
null passwords=yes
encrypt passwords = yes
security=share
force user=root
preferred master=yes
os level = 33
lock dir = /var/tmp/samba
wins support = yes
#smb passwd file=/var/media/ftp/hdd_400gb/samba/smbpasswd

[hdd_400gb]
path=/var/media/ftp/hdd_400gb
comment=hdd_400gb
valid users=frank
public=yes
writable=yes
printable=no
browseable=yes

[Root]
path=/
comment=Root-Filesystem
public=yes
writable=yes
printable=no
browseable=yes

was muss ich alles ändern damit das mit dem passwort funktioniert?
 
Code:
security=user
smb passwd file=/var/media/ftp/hdd_400gb/samba/smbpasswd

Der Lattenzaun vor 'smb passwd file' muss weg. Security ist user.
Und mach mal ein 'cat /var/media/ftp/hdd_400gb/samba/smbpasswd' und schau mal, ob die Passwörter auch abgespeichert wurden.
 
so habs mal ausprobert. also mit "security = user" und ohne "#" vor dem "smb passwd file" befehl. klappt leider immer noch nicht.
wenn ich mir die datei smbpasswd mit "cat /var/media/ftp/hdd_400gb/samba/smbpasswd" anschaue, dann zeigt er mir nur so was an: "!Pÿ +3Â!¢Â®$H¿@¶<µ8´4³0²,±(àP½'¾<P¤'!àÐÿ". also nichts brauchbares :)

hab ich wirklich die richtige smbpasswd datei?
 
'smb passwd file' zeigt dann auf die Binary. Das ist falsch.
Verwende mal das 'smbpasswd' aus dem Samba-Package. Du musst vorher das Verzeichnis '/var/samba/private/' erstellen!
Dann 'smbpasswd -a ftpuser' z.B. für den ftpuser. Danach gibts die Datei '/var/samba/private/smbpasswd'. Diese nach '/var/media/ftp/hdd_400gb/samba/' kopieren!
 
wo soll ich das Verzeichnis '/var/samba/private/' genau erstellen?
auf meiner usb festplatte oder auf der fritzbox selbst?

[Posting 2, 19:26]
so habs jetzt geschafft :)
mir fehlte die information, dass sich die smbpasswd in der die benutzernamen und passwörter gespeichert werden sich in /private befindet :)

danke für deine hilfe.

[Edit wichard: 2 Beiträge in 8 Minuten zusammengefasst. Bitte "Ändern"-Funktion benutzen.]
 
zu früh gefreut!
bei der erstellung eines anderen benutzer passiert folgendes:

Code:
# cd /var/media/ftp/hdd_400gb/samba/
# ./smbpasswd -a crevlon
load_client_codepage: filename /var/media/ftp/Massstorage-Partition-0-1/samba/lib/codepages/codepage.850 does not exist.
load_unicode_map: filename /var/media/ftp/Massstorage-Partition-0-1/samba/lib/codepages/unicode_map.850 does not exist.
load_unicode_map: filename /var/media/ftp/Massstorage-Partition-0-1/samba/lib/codepages/unicode_map.ISO8859-1 does not exist.
New SMB password:
Retype new SMB password:
User crevlon does not exist in system password file (usually /etc/passwd). Cannot add account without a valid local system user.
Failed to modify password entry for user crevlon
#

in die /etc/passwd habe ich folgendes eingetragen:

Code:
crevlon:x:500:10:crevlon:/:/bin/false

wie kann ich das problem lösen?
 
könnte mir jemand eventuell mal seine FUNKTIONIERENDE debug.cfg und smb.conf schreiben?
ich möchte sie mit meiner vergleichen.
 
warum legst du den user nicht so an, wie den ftpuser?

Code:
crevlon:any:1000:0:protected ftp user:/var/media/ftp:/bin/sh

ist doch völlig ok... home könnte man ändern
 
muss dieses password dann nicht auch in der smbpasswd stehen?
oder meinst du das ich das genau dort eintragen soll?

so was hatte ich mir auch schon gedacht, nur ich dachte, dass das zu einfach wäre :)
 
verstehe ich jetzt nicht :confused:

EDIT:
das muss natürlich in die /etc/passwd
danach smbpasswd -a ...
 
achso...sorry...jetzt hab ich es kapiert.
es werde es später mal ausprobieren.

schon mal danke.
 
folgendes hab ich ausprobiert:

smbpasswd:
Code:
crevlon:any:1000:0:protected ftp user:/var/media/ftp:/bin/sh

/etc/passwd:
Code:
crevlon:any:1000:0:protected ftp user:/var/media/ftp:/bin/sh

es klappt leider immer noch nicht. wenn ich in meiner netzwerkumgebung auf die an der fritzbox angeschlossenen festplatte klicke fragt er nach benutzername und password. leider nimmt er meine angaben leider nicht an (benutzername: crevlon / kennwort: ).

ich hatte das mit dem password schon mal hinbekommen. damals hat er den benutzernamen schon automatisch eingetragen (crevlon), diesmal aber nicht. das ist ja auch nicht normal oder?
 
ln macht leider Probleme

Hallo kriegaex,

danke für Deine ausführliche Anleitung. Allerdings erhalte ich beim starten des "Start skriptes" folgenden Fehler:

ln: /var/media/ftp/MassStorageDevice-Partition-0-1/LEXRPLUGDRIVE-Partition-0-1
Operation not permitted

Hier mein Start skript:

# starten und stoppen von SAMBA

hostname fritzbox
export MY_USB=/var/media/ftp/LEXRPLUGDRIVE-Partition-0-1
cd $MY_USB/samba

if [ "$1" = "stop" ]; then
killall nmbd
killall smbd
sleep 2
ps -ef | grep smbd
ps -ef | grep nmbd
rm /var/medis/ftp/MassStorageDevice-Partition-0-1
rm /var/media/ftp/Massstorage-Partition-0-1
exit 0
fi

export LD_LIBARY_PATH=$MY_USB/samba/lib
export TMPDIR=$MY_USB/samba/tmp
ln -s $MY_USB /var/media/ftp/MassStorageDevice-Partition-0-1
ln -s $MY_USB /var/media/ftp/Massstorage-Partition-0-1
./nmbd
./smbd


Wo liegt mein Fehler?
Über Tipps würde ich mich freuen.

Gruß
 
ar543 schrieb:
Code:
(...)
if [ "$1" = "stop" ]; then
        killall nmbd
        killall smbd
        sleep 2
        ps -ef | grep smbd
        ps -ef | grep nmbd
        rm /var/medis/ftp/MassStorageDevice-Partition-0-1
        rm /var/media/ftp/Massstorage-Partition-0-1
        exit 0
fi
Ich habe das nicht genau analysiert jetzt, aber könnte es sein, daß beim ersten rm statt /var/medis eher /var/media stehen sollte? Wenn er beim vorherigen Stoppen den Link nicht löscht, kann er ihn hinterher beim Starten auch nicht mehr anlegen, weil er ja schon da ist.
 
Hallo kriegaex,

danke. Meinen Schreibfehler hatte ich trotz Prüfung übersehen. Samba startet nun.

Allerdings gelingt mir nun das Anlegen eines Users nicht :-((

Soweit hat es funktioniert:

# vi /etc/passwd
frank:x:500:10:frank:/:/bin/false
[ESC]:wq

Hier erhalte ich allerdings einen Fehler:
# ./smbpasswd -a frank
..
...
Retype new SMB password:
User frank does not exist in system password file (usually /etc/passwd). Cannot add account without a valid local system user.
Failed to modify password entry for user frank

Das verwundert mich, denn der User wurde von mir vorher eingetragen.

Zusätzlich habe ich dies auch für den User root und ftpuser ausprobiert. Beide User waren vorher in der /etc/passwd vorhanden. Allerdings die selbe Fehlermeldung!

Ich würde mich über eine weitere Hilfe freuen. Hoffentlich läuft dann alles bei mir.

Dank und Gruß
 
Dateien unter /etc sind nicht editierbar. Mach mal hinterher cat /etc/passwd, da hat sich vermutlich nichts verändert. Ich kann das gerade nicht nachvollziehen, denn ich habe mini_fo als Overlay-Dateisystem und kann virtuell trotzdem ändern.

Trotzdem gibt es Mittel und Wege, einen Benutzer anzulegen. Ich verwende sie nur nicht, weil ich grundsätzlich alleine auf der Box arbeite und immer als root agiere. Schau mal in diesen Thread, dort könntest Du etwas Passendes finden.
 
Hallo zusammen,

ich habe den samba daemon wie hier beschrieben aufgesetzt. Alles funktioniert soweit einwandfrei.

Ich möchte allerdings, dass samba bei einem Neustart der Box mitgestartet wird. Ein Aufruf des Start-Skripts in der debug.cfg brachte leider nichts, da zu diesem Zeitpunkt der USB-Stick noch nicht erkannt worden war und noch nicht gemountet ist. :(

Hat jemand eine Idee? Hat jemand von Euch dieses Problem irgendwie gelöst?

Miggl
 
Es wundert mich, daß der Stick noch nicht da ist in dem Moment. Aber wie auch immer, wenn er später dann da ist, dann mach den Samba-Start doch einfach asynchron im Hintergrund, indem Du erstens eine Warteschleife in Dein Startskript einfügst und diese zweitens als Hintergrund-Job startest, in etwa so:
Code:
# debug.cfg
# ...

# Samba
{
# Warten, wie lange auch immer notwendig - hier im Beispiel 60 Sekunden.
# Das Ganze kann auch in eine Schleife, in der die Zugreifbarkeit des
# USB-Mounts getestet wird.
sleep 60

# Immer schön die Ausgabe ins Nirvana umleiten, denn Hintergrund-Jobs
# werden gestoppt, wenn sie versuchen, auf das kontrollierende Terminal
# zu schreiben oder davon zu lesen. Ersteres wird hierdurch verhindert,
# mal davon abgesehen, daß es ja gar kein Terminal in dem Sinne gibt
# während des Boot-Prozesses
befehl-1 > /dev/null 2>&1
befehl-2 > /dev/null 2>&1
...
befehl-n > /dev/null 2>&1
} &    # Das "&" am Ende macht einen Hintergrund-Job daraus

# ...
Der Vorteil des Hintergrund-Jobs ist, daß der Rest Startvorgangs dadurch nicht unterbrochen wird.

Falls Job-Control nicht vorhanden sein sollte in der Shell beim Booten (ich habe das nicht getestet), kann man ja auch das Samba-Startskript aus der debug.cfg heraus in eine separate Datei schreiben lassen, die dann ausführbar gemacht und in einem Extra-Shellprozess ausgeführt wird. Wäre evtl. sogar einfacher, denn man bräuchte sich nicht um die Ausgabeumleitung kümmern.
 
Kostenlos!

Statistik des Forums

Themen
248,919
Beiträge
2,305,064
Mitglieder
378,640
Neuestes Mitglied
vapep43913