[erledigt] Samba - Fehlermeldung im mod.log

SaschaBr

Aktives Mitglied
Mitglied seit
1 Mai 2007
Beiträge
2,350
Punkte für Reaktionen
32
Punkte
48
Ich habe mir gestern auf Basis der aktuellen Labor (Version 54.04.70-13486) mit dem trunk 3015 eine neue Freetz-Firmware gebaut. Da durch diese Firmware ja die Box auf Werkseinstellungen zurückgesetzt wird, habe ich mich entschlossen, die Box mal vorher zu Recovern, um eine saubere Basis zu bekommen.
So, nun habe ich also die neue Firmware am laufen, jedoch sind mir zwei Dinge aufgefallen:
1. Ich habe diese Zeile im mod.log stehen:
Code:
...
Starting samba...Looking for user 'ftpuser' ... found
sh: yes: unknown operand
done.
...
Muss ich das beachten, oder ist das nur ein Schönheitsfehler?

2. Vor dem Flashen auf diese neue Version habe ich den Samba 3.0.24 auch schon benutzt, und brauchte keinen User anlegen, und konnte ohne Veränderung mein bis dato eingerichtetes Netzlaufwerk nutzen.
Bei dieser frisch gebauten Version sehe ich zwar den Samba-Server im Windows Netzwerk (zumindest nach Eingabe von: \\fritz.box), jedoch ist dort kein Ordner vorhanden. Nach dem Eintragen einer Freigabe in Freetz funktioniert dies jedoch.
Was ist jetzt nu richtig, Vorher oder Jetzt?
Hat das eventuell was mit oben angezeigtem Fehler zu tun?
 
Zuletzt bearbeitet:
Poste mal die Ausgabe von "sh -x /etc/init.d/rc.samba restart"
 
Da kommt das bei raus:
Code:
Stopping samba...done.
Starting samba...Looking for user 'ftpuser' ... found
done.
Scheint also nicht vom Samba zu kommen?
 
Eigentlich müsste der Befehl von oben einiges mehr ausgeben, versuch nochmal
 
OK, da es schon spät war, hatte ich das nur noch eben schnell im Rudi-Shell gemacht.
Hier nun die Ausgabe bei Verwendung von Telnet:
Code:
+ export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin
+ export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib
+ BDIR=/sbin
+ DAEMON=samba
+ SMBD=smbd
+ NMBD=nmbd
+ MODPATH=/mod/etc
+ CONF=/mod/etc/smb.conf
+ . /etc/init.d/modlibrc
+ export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin
+ export LD_LIBRARY_PATH=/mod/lib:/mod/usr/lib
+ [ -n samba ]
+ [ ! -r /mod/etc/conf/samba.cfg ]
+ . /mod/etc/conf/samba.cfg
+ export SAMBA_ENABLED=yes
+ export SAMBA_INTERFACES=192.168.178.2/255.255.255.0
+ export SAMBA_MASTER=yes
+ export SAMBA_NETBIOS_NAME=FRITZ.BOX
+ export SAMBA_OS_LEVEL=20
+ export SAMBA_SERVER_STRING=%h (Samba %v)
+ export SAMBA_WORKGROUP=PRIVATANWENDER
+ PARA2=
+ [ 1 -ge 2 ]
+ stop
+ echo -n Stopping samba...
Stopping samba...+ killall -TERM smbd
+ exitvals=0
+ NSP=1
+ [ 0 -ge 1 ]
+ exitvaln=0
+ [ -x /sbin/nmbd -a 1 -eq 1 ]
+ [ 0 -eq 0 -a 0 -eq 0 ]
+ echo done.
done.
+ sleep 2
+ start
+ echo -n Starting samba...
Starting samba...+ config
+ mkdir -p /var/locks
+ mkdir -p /var/samba/lib
+ mkdir -p /var/samba/private
+ modlib_adduser ftpuser -G users -D -S -h /var/media/ftp -g ftp user
+ local user=ftpuser
+ shift
+ echo -n Looking for user 'ftpuser' ...
Looking for user 'ftpuser' ... + grep -q ^ftpuser: /etc/passwd
+ echo found
found
+ return 0
+ /mod/etc/default.samba/samba_conf
sh: yes: unknown operand
+ [ -r /var/tmp/smbpasswd.cleartext ]
+ pidof smbd
+ smbd -D -s /mod/etc/smb.conf
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
+ exitvals=0
+ NST=1
+ [ 0 -ge 1 ]
+ exitvaln=0
+ [ -x /sbin/nmbd -a 1 -eq 1 ]
+ [ 0 -eq 0 -a 0 -eq 0 ]
+ echo done.
done.
+ exit 0
 
Habe die gleichen Ausgaben und Fehlermeldungen. Wobei "CP850.so" auf jeden Fall ignoriert werden kann, da es die Voreinstellung für dos charset ist.
 
Hm, die Datei ist eigentlich schreibgeschützt. Ich vermute mal, dass der Fehler von Zeile 37
Code:
if [ $(echo usbhost.readonly | ar7cfgctl -s) != "yes" ] ; then
kommt. Anführungszeichen würden helfen, aber es gab da mal ne Zeit in der die wegrationalisiert wurden :-]
@SaschaBr: Kannst du mal
Code:
echo usbhost.readonly | ar7cfgctl -s
posten?
 
Die Fehlermeldung kommt anscheinend aus der Datei /mod/etc/default.samba/samba_conf. Wie sieht denn die Datei aus?

Die sieht so aus:
Code:
[global]
netbios name = $SAMBA_NETBIOS_NAME
workgroup = $SAMBA_WORKGROUP
server string = $SAMBA_SERVER_STRING
syslog = 0
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
socket options = TCP_NODELAY
unix charset = ISO-8859-1
preferred master = $SAMBA_MASTER
os level = $SAMBA_OS_LEVEL
security = SHARE
guest account = ftpuser
EOF

if [ -n "$SAMBA_INTERFACES" ]; then
cat << EOF
interfaces = $SAMBA_INTERFACES
bind interfaces only = yes
EOF
fi

echo "### expert"

if [ -r "/tmp/flash/samba/sharesx" ]; then
	cat /tmp/flash/samba/sharesx
fi

echo "### default"

if [ `echo usbhost.samba_server_enabled | ar7cfgctl -s` = "yes" ]; then
#if [ "$SAMBA_DEFAULT_SHARE" = "yes" ]; then
	for SHARE in /var/media/ftp/* ; do
	  if test -d $SHARE ; then
		SHORTNAME=`basename $SHARE | sed s/-Partition-/-/`
      		echo "[$SHORTNAME]"
		echo " path = $SHARE"
		echo " user = ftpuser"

		if [ $(echo usbhost.readonly | ar7cfgctl -s) != "yes" ] ; then  
			echo " read only = no"
		else
			echo " read only = yes"
		fi

		if [ $(echo usbhost.password | ar7cfgctl -s) = "\"\"" ] ; then
			echo " guest ok = yes"
		fi

		echo " write cache size = 65536"
	fi
	done
fi

echo "### shares"

if [ -r "/tmp/flash/samba/shares" ]; then
	cat /tmp/flash/samba/shares | grep -v "^#" | while read -r path name gk ro comment; do
		if [ -n "$path" -a -n "$name" -a -d "$path" ]; then
			case "$gk" in
				1|y|yes|Y|YES)  gk="yes" ;;
				0|n|no|N|NO|"") gk="no"  ;;
			esac
			case "$ro" in
				1|y|yes|Y|YES)  ro="yes" ;;
				0|n|no|N|NO|"") ro="no"  ;;
			esac
cat << EOF
[$name]
 comment = $comment
 path = $path
 guest ok = $gk
 read only = $ro
 user = ftpuser
 write cache size = 65536
EOF
		fi
	done
fi

echo "### fin"

...
Kannst du mal
Code:
echo usbhost.readonly | ar7cfgctl -s
posten?

Da kommt nix!? Wo und wie muss ich das eingeben? Was soll ich da posten??
 
Zuletzt bearbeitet:
Richtig, nix!
telnet.JPG

Und nun?
 
Nun, jetzt müsste jemand der Datei zwei " spendieren und die Meldung ist weg
 
Wo müssen diese denn hin? kann ich das selber ändern, oder muss da was für im Trunk geändert werden?
 
Zuletzt bearbeitet:
Ja
EDIT: Meinen lokalen Pfad gelöscht
 
Zuletzt bearbeitet:
und wie spiele ich das ein?

habe das wie damals bei dem onlinecounter-patch gemacht, es kam auch eine Meldung, das die samba_conf geändert wurde...
Code:
patch -p0 < s.patch

Irgendwie hats nicht geklappt, der fehler steht noch immer im log
 
Danach braucht du noch ein "make samba-dirclean" damit's neu gebaut wird
 
Ok, jetzt passts!

Habe allerdings meinen Trunk neu aufgesetzt und ausgechecked: Ich konnte die Rudi-Shell nicht mehr nutzen -> Sicherheitsstufe greift nun. Dass da diesbezüglich auch was gepatcht wurde, hatte ich nicht gesehen. :blonk:
Erst nachdem ich alles neu gebaut hatte, kam ich mal auf die Idee, die Sicherheitsstufe zu setzen.

Jetzt muss ich nur noch den vergessenen Syslog wieder einbauen.
Mannoman...


EDIT:
So, nu läuft alles, wie es soll!
Auch wird die Box jetzt im Windows-Netzwerk angezeigt, das lag aber sehr wahrscheinlich an der nicht aktivierten Option im menuconfig.
 
Zuletzt bearbeitet:
Genau so ist es. Ohne das Paket "nmbd" wird nichts angezeigt.
 
Hey ho, hab das gleiche Problem...

Hab ne ext3-Festplatte an meinem USB-Port, wenn ich über ssh auf der fritz7270 drauf bin und ins Verzeichnis "ls /var/media/ftp/uStor01/" sehe, ist sie dort auch automatisch gemountet worden. Soweit ist das also schon mal toll.

Kann ich nun auch eine config direkt anpassen, statt das Image komplett neu zu bauen? Wo genau fehlen die ""? Was muss angepasst werden?

Wenn ich auf das Share zugreifen möchte erhalte ich folgende Meldung:
"Die Datei oder der Ordner smb://[email protected]/uStor01 existiert nicht."
In der Konsole wird dann folgendes mitgeloggt:
"smbd - dlopen of lib /mod/etc/charset/CP850.so not supported"

Greetz

Hoppel
 
Zuletzt bearbeitet:
So hab mir nochma nen komplett neuen trunk gezogen und versucht den patch einzuspielen. Doch dann kommt folgende Meldung:

[Edit frank_m24: Bitte benutzt CODE Tags für solche Ausgaben.]
Code:
hoppel@t60-kb2:~/Dokumente/FritzBox7270/freetz-trunk$ patch -p0 < /home/michael/Desktop/s.patch 
patching file make/samba/files/root/etc/default.samba/samba_conf
Hunk #1 FAILED at 34.                                                                            
Hunk #2 FAILED at 43.
2 out of 2 hunks FAILED -- saving rejects to file make/samba/files/root/etc/default.samba/samba_conf.rej
hoppel@t60-kb2:~/Dokumente/FritzBox7270/freetz-trunk$

Was habe ich falsch gemacht?

EDIT:

Habt ihr den patch jetzt schon in den Trunk mit aufgenommen? Denn wenn ich in das folgendes Verzeichnis gehe: "/freetz-trunk/make/samba/files/root/etc/default.samba" sehe ich dort folgende samba-Dateien: "samba.cfg samba_conf samba_conf.orig samba_conf.rej".

Da ich kein Entwickler bin, sondern Netzwerktechniker, hier mal, wie ich das Ganze deute:

samba.cfg: Variablen für spätere Umgebung
samba_conf: Datei die zum kompilieren verwendet wird
samba_conf.orig: Datei die sich im Trunk befand, (ursprünglich samba_conf, umbenannt in *.orig)
samba_conf.rej: Datei die Änderungen des Patches enthält

Wenn ich mir jetzt meine samba_conf.rej ansehe, gehe ich davon aus, dass die Zeilen mit '-' vorweg entfernt werden sollen und die Zeilen mit '+' vorweg diese ersetzen sollen, da die Zeilen mit '+' die vermissten "" enthalten. Richtig?

Code:
***************
*** 34,40 ****
  
  echo "### default"
  
- if [ `echo usbhost.samba_server_enabled | ar7cfgctl -s` = "yes" ]; then
  #if [ "$SAMBA_DEFAULT_SHARE" = "yes" ]; then
  	for SHARE in /var/media/ftp/* ; do
  	  if test -d $SHARE ; then
--- 34,40 ----
  
  echo "### default"
  
+ if [ "`echo usbhost.samba_server_enabled | ar7cfgctl -s`" = "yes" ]; then
  #if [ "$SAMBA_DEFAULT_SHARE" = "yes" ]; then
  	for SHARE in /var/media/ftp/* ; do
  	  if test -d $SHARE ; then
***************
*** 43,55 ****
  		echo " path = $SHARE"
  		echo " user = ftpuser"
  
- 		if [ $(echo usbhost.readonly | ar7cfgctl -s) != "yes" ] ; then  
  			echo " read only = no"
  		else
  			echo " read only = yes"
  		fi
  
- 		if [ $(echo usbhost.password | ar7cfgctl -s) = "\"\"" ] ; then
  			echo " guest ok = yes"
  		fi
  
--- 43,55 ----
  		echo " path = $SHARE"
  		echo " user = ftpuser"
  
+ 		if [ "$(echo usbhost.readonly | ar7cfgctl -s)" != "yes" ] ; then  
  			echo " read only = no"
  		else
  			echo " read only = yes"
  		fi
  
+ 		if [ "$(echo usbhost.password | ar7cfgctl -s)" = "\"\"" ] ; then
  			echo " guest ok = yes"
  		fi[/QUOTE]

Wenn ich mir dann aber die [B]samba_conf.orig[/B] ansehe, also die Datei, die aus dem Trunk kam, dann steht da schon alles richtig drin, die [B]samba_conf[/B] sieht identisch aus.

[QUOTE]if [ -r "/tmp/flash/samba/sharesx" ]; then
	cat /tmp/flash/samba/sharesx
fi

echo "### default"

if [ "`echo usbhost.samba_server_enabled | $CFGCTL -s`" = "yes" ]; then
#if [ "$SAMBA_DEFAULT_SHARE" = "yes" ]; then
	for SHARE in /var/media/ftp/* ; do
	  if test -d $SHARE ; then
		SHORTNAME=`basename $SHARE | sed s/-Partition-/-/`
      		echo "[$SHORTNAME]"
		echo " path = $SHARE"
		echo " user = ftpuser"

		if [ "$(echo usbhost.readonly | $CFGCTL -s)" != "yes" ] ; then  
			echo " read only = no"
		else
			echo " read only = yes"
		fi

		if [ "$(echo usbhost.password | $CFGCTL -s)" = "\"\"" ] ; then
			echo " guest ok = yes"
		fi

		echo " write cache size = 65536"
	fi
	done
fi

echo "### shares"

if [ -r "/tmp/flash/samba/shares" ]; then
	cat /tmp/flash/samba/shares | grep -v "^#" | while read -r path name gk ro comment; do
		if [ -n "$path" -a -n "$name" -a -d "$path" ]; then
			case "$gk" in
				1|y|yes|Y|YES)  gk="yes" ;;
				0|n|no|N|NO|"") gk="no"  ;;
			esac
			case "$ro" in
				1|y|yes|Y|YES)  ro="yes" ;;
				0|n|no|N|NO|"") ro="no"  ;;
			esac
cat << EOF
[$name]
 comment = $comment
 path = $path
 guest ok = $gk
 read only = $ro
 user = ftpuser
 write cache size = 65536
EOF
		fi
	done
fi

echo "### fin"

Sorry, dass ich das Thema so ausbreite, aber ich bin neu in der freetz-thematik und ich will verstehen, was hier passiert.

Ich gehe also davon aus, dass der oben entstandene Fehler...

Code:
Hunk #1 FAILED at 34.                                                                            
Hunk #2 FAILED at 43.
2 out of 2 hunks FAILED -- saving rejects to file make/samba/files/root/etc/default.samba

...nicht entstanden wäre, wenn ich den Trunk nicht komplett neu gezogen hätte. Denn in diesem neuen Trunk ist der Fehler bereits behoben. Richtig??? :)

Greetz

Hoppel
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,839
Beiträge
2,219,264
Mitglieder
371,543
Neuestes Mitglied
Brainbanger
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.