Samba Problem - Umlaute werden falsch dargestellt

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Samba Problem - Umlaute werden falsch dargestellt

Beitrag von Fentanyl » 12.11.2004 00:39:45

Ich hab hier im Forum schon Einiges dazu gelesen, allerdings bringt mich das leider nicht weiter. Folgende Situation: Ich habe auf meinem Hauptserver Sarge mit Kernel 2.6.7 und darauf Samba installiert (AFAIK neueste Version mit apt-get). Funktioniert eigentlich prima, bis auf die Tatsache, dass die Umlaute auf dem Jeweils anderen Rechner falsch angezeigt werden.
Ich habe in der smb.conf schon mit verschiedenen Optionen für character set und client code page experimentiert, aber eine testparm-Prüfung ergibt Folgendes:
debianserver:/shares/programme/OS# testparm
Load smb config files from /etc/samba/smb.conf
Unknown parameter encountered: "character set"
Ignoring unknown parameter "character set"
Unknown parameter encountered: "client code page"
Ignoring unknown parameter "client code page"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[mp3]"
Processing section "[programme]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Scheinbar sind die Parameter client code page und character set ungültig *?*

Ich sollte vielleicht noch hinzufügen, dass die Intallation der zusätzlichen Pakete irgendwo zwischendrin abgebrochen ist (ich habs erst später gemerkt, weil ich noch einen anderen Server parallel eingerichtet hab) und ich dann mit dpkg --configure -a weitergemacht hab. Leider fehlt mir noch die weitreichendere Erfahrung, aber kanns sein, dass irgendwelche Codepages oder character sets nicht mitinstalliert wurden?

Hier meine smb.conf (ich hab aufgrund der größe die ganzen kommentare und auskommentierten commands weggelassen):

[global]
workgroup = ADMIN
server string = debianserver
character set = ISO8859-1
client code page = 850
dns proxy = no
log file = /var/log/samba/log.%m

max log size = 1000
syslog = 0
security = user

encrypt passwords = true
passdb backend = tdbsam guest
obey pam restrictions = yes
invalid users = root
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .

socket options = TCP_NODELAY

[homes]
comment = Home Directories
browseable = no
writable = yes
create mask = 0700
directory mask = 0700

[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no

[mp3]
path = /shares/mp3
guest ok = no
browseable = yes
writable = yes

[programme]
path = /shares/programme
guest ok = no
browseable = yes
writable = yes
Falls ein dmesg-ausschnitt benötigt wird, kann ich den auch nachreichen, stelle ihn aufgrund der größe erstmal nicht rein.

MfG; Fenta

HermanPoggenhans
Beiträge: 2
Registriert: 22.10.2004 18:58:46
Kontaktdaten:

Beitrag von HermanPoggenhans » 14.11.2004 16:59:16

probier einfach mal folgendes in deine smb.conf reinzuschreiben:
dos charset = 850
unix charset = ISO-8859-15
display charset = ISO-8859-15
valid chars = ä:Ä ö:Ö ü:Ü ß

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 15.11.2004 13:00:12

dos charset = 850
unix charset = ISO-8859-15
display charset = ISO-8859-15
valid chars = ä:Ä ö:Ö ü:Ü ß
Hat dies entsprechend funktioniert? Würde auch mich interessieren.

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 16.11.2004 02:46:01

Sorry, dass ich mich erst so spät melde, war am WE weg.

Also sehr vielen Dank, es funktioniert! *freu*, nur bei den Apostrophs haperte es noch ein wenig, bis ich mal ISO8859-1 versuchte, dafür geht das euro-Zeichen nicht (das allerdings auch lokal nicht und bestimmte dateien, die `oder ' enthalten, kann ich mit touch nicht erzeucgen. "valid chars" wird ignoriert

Was ich allerdings nicht ganz verstehe: warum geben manche Samba-Referezen Optionen wie "character set" und "client code page" an, die dann bei anderen funktionieren, aber von meinem Samba nicht erkannt werden?

MfG; Fenta

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 18.11.2004 09:13:24

Also, ich habe unter [global] mal die obigen Parameter ergänzt:
dos charset = 850
unix charset = ISO-8859-15
display charset = ISO-8859-15
leider ohne Erfolg.

Ich nutze Samba 3 mit W2K-Clients. Der Share auf den zugegriffen wird ist eine VFAT-Partition, die unter /home/Xfer gemountet und ansprechbar ist. In der /etc/fstab ist die Partition für alle User -- gleich ob unter W2K oder Linux eingeloggt -- freigegeben und kann beliebig manipuliert werden:
[Xfer]
#
# This is supposed to be a general purpose transfer directory, accessible
# for users listed in the valid users section.
#
# descriptive string for the resource to be displayed in Windows:
comment = Data Exchange Directory
#
# The following directory shall be provided for data exchange purposes:
path = /home/Xfer
#
# both read and/or write access is allowed on this resource:
read only = No
#
# the following line is needed to allow Windows to list all directories
# and files stored in the Xfer resource:
browseable = Yes
#
# access may be granted to the following user(s) only (list items again to
# be separated by blanks):
valid users = user1 user2
Problem: Unter W2K werden die Sonderzeichen ohne die obigen Angaben korrekt dargestellt, mit den obigen Parametern jedoch falsch, nur unter Linux stehen in beiden Fällen kryptische Zeichen. Hat jemand eine Idee, was unter "unix charset" bzw. "display charset" einzutragen ist? Auch die Angabe von ISO-8859-1 hat bei mir leider nicht zu Erfolg geführt. Googeln hat leider auch nichts gebracht... :(

Möglicherweise ein Effekt der VFAT-Partition?

@Fentanyl: Lt. [1] ist der Parameter "valid chars" für Samba 3 nicht mehr verfügbar. Das gleiche gilt auch für die Option "character set", diese gibt es in Samba 3 nicht mehr. Sind diese Einträge vorhanden, wird offenbar Samba 2.x verwendet.

[1] http://de.samba.org/samba/docs/Samba-HO ... ection.pdf

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 18.11.2004 19:13:09

Gelöst!

Ich habe mich schlicht vertippt; unter [global] genügen die Parameter
# Specify the charset the unix machine Samba runs on uses. Samba needs to
# know this in order to be able to convert text to the charsets other
# SMB clients use:
unix charset = ISO8859-15
#
# Specifies the charset that samba will use to print messages to stdout
# and stderr and SWAT will use. Should generally be the same as the
# unix charset:
display charset = ISO8859-15
und die Umlaute werden unter beiden Systemen korrekt dargestellt. :D

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 19.11.2004 05:54:26

Bei mir geht das immer noch nicht. aber auch in der lokalen Shell wird kein Euro angezeigt, vielleicht liegt die Ursache garnicht bei samba?

Btw: Hat samba bei dir auch Probleme mit Passwörtern, die das µ-Zeichen enthalten?

MfG; Fenta

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 19.11.2004 08:41:44

aber auch in der lokalen Shell wird kein Euro angezeigt, vielleicht liegt die Ursache garnicht bei samba?
Ich hab' derzeit kein X am laufen, da ich derzeit noch das Basissystem konfiguriere (ssh, Samba, Kernelkonfiguration...). Meine Shell (unter root) kann das Euro-Zeichen darstellen, soweit ich mich erinnern kann. Ich habe am Zeichensatz seit der Installation nichts geändert, ich verwende allerdings den Sarge-Installer vom daily-built Verzeichnis (siehe [1]) und nicht den RC2. Möglicherweise begründet sich das darin; im daily-built sind viele vorhandene Fehler des Installers bereits bereinigt.

Der Zeichensatz, den die Konsole verwendet, wird von Samba getrennt über einen Shell-Parameter gesetzt. Ich sitz' derzeit in der Fa. vor ner' W2K-Kiste, ich kann dir meine Parameter aber am WE hier posten. Möglicherweise kann uns vorher ein anderes Mitglied des Forums hier die Einstellung hier angeben?
Btw: Hat samba bei dir auch Probleme mit Passwörtern, die das µ-Zeichen enthalten?
Solche Paßwörter verwende ich grundsätzlich nicht; auch deutsche Umlaute vermeide ich. Mir reichen die Sonderzeichen über den Zahlen... :wink:

BTW: Mir ging es darum, daß Dateinamen unter W2K und Linux gleich angezeigt werden. In der Praxis kommen bei mir nur Sonderzeichen wie "äöüß-" u.ä. im Dateinamen vor, µ z.B. nicht.Mehr hab' ich zugegeben noch nie probiert, ich wurde offenbar von den diversen OSs im Lauf der Jahre schon entsprechend konditioniert... :lol:

Nachtrag: Unter [2] gibt es eine ausführliche Anleitung zum Umstellen der lokalen Einstellungen (siehe Abschnitt 4) ; ich werde dir hier dennoch meine Einstellungen posten, denn ich glaube, daß Sarge mittlerweile auf UTF-8 läuft, und nicht mehr auf de_DE@euro ISO-8859-15. To be continued...

[1] http://cdimage.debian.org/pub/cdimage-t ... 86/current
[2] http://www.linuxforen.de/forums/showthread.php?t=106033

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 20.11.2004 14:25:20

Also: Der Befehl

Code: Alles auswählen

...# locale
giibt bei mir folgendes aus:
LANG=de_AT@euro
LC_CTYPE="de_AT@euro"
LC_NUMERIC="de_AT@euro"
LC_TIME="de_AT@euro"
LC_COLLATE="de_AT@euro"
LC_MONETARY="de_AT@euro"
LC_MESSAGES="de_AT@euro"
LC_PAPER="de_AT@euro"
LC_NAME="de_AT@euro"
LC_ADDRESS="de_AT@euro"
LC_TELEPHONE="de_AT@euro"
LC_MEASUREMENT="de_AT@euro"
LC_IDENTIFICATION="de_AT@euro"
LC_ALL=
... und ja, in der Shell funktionieren Umlaute und Sonderzeichen wie ßäö@... usw. Auch das Euro-Zeichen funkt.

camelmed
Beiträge: 82
Registriert: 14.10.2002 18:18:42
Wohnort: Vienna
Kontaktdaten:

Beitrag von camelmed » 24.11.2004 21:28:55

Hello

Habe selbiges Problem. Aber egal was ich mach ich sehe keine Umlaute. Hab das mim charset in der smb.config versucht und auch beim mount Befehl mit iocharset=ISO-8859-15 aber nichts hilft. Wenn ich von sarge aus eine WinXP Freigabe mounte sehe ich keine Sonderzeichen. Die Locales sind bei mir genau wie oben.
Kernel 2.6.8-1-386
Samba 3.0.7-2

Weis noch jemand irgendwas was man machen könnte?

ciao Toni
In einer verrückten Welt wie dieser sind nur die Verrückten wircklich normal.

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 25.11.2004 13:06:03

Die obigen Einstellungen beziehen sich auch nur auf eine Verbindung Win --> Linux via Samba; d.h. Win greift auf Linux zu. Zum umgekehrten Fall kann ich leider nicht viel sagen, weil bei mir nicht in Anwendung, sorry.

camelmed
Beiträge: 82
Registriert: 14.10.2002 18:18:42
Wohnort: Vienna
Kontaktdaten:

Beitrag von camelmed » 25.11.2004 14:37:04

Also nun hab ichs auch mit "iocharset=iso8859-15" und "iocharset=iso8859-1" beim mounten versucht aber ein "ls" bringt immer nur ? statt Sonderzeichen

Hab was von cifs gehört aber das versteh ich nicht ganz.
Bei cifs bekomm ich folgendes:

babywatch: # mount.cifs -o username=user,password=user,iocharset=iso8859-15 //192.168.0.2/freigabe /home/ftp/Data/
Mounting the DFS root for domain not implemented yet

babywatch: # grep CIF /boot/config-2.6.8-1-386
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_POSIX is not set

woran kann das liegen Kennst sich jemand mit der Richtung aus (Linux->Win) ?

ciao Toni

// EDIT

Problem gelöst. Die Codepage war schulde *gg* so funkts jedenfalls:

mount -t smbfs -o username=user,password=user,codepage=cp850,iocharset=iso8859-1 //192.168.0.2/freigabe /home/ftp/Data/
In einer verrückten Welt wie dieser sind nur die Verrückten wircklich normal.

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 28.11.2004 16:20:46

Ich bin (nach längerer Pause, da zu beschäftigt) ein Szcückchen weitergekommen. Euro wird jetzt auf shell angezeigt (danke @ steos), wobei die locales gestimmt haben, nur ging es erst nach dem rebooten. Mit Samba gehts immer noch nicht richtig, ich werd mich wohl die nächste woche noch mal dahinterklemmen, irgendwo muss der fehler ja liegen.

MfG; Fenta

Benutzeravatar
steos
Beiträge: 326
Registriert: 16.10.2004 13:27:34
Wohnort: Wien

Beitrag von steos » 29.11.2004 09:08:38

@ Fentanyl:

Bei mir habe ich schon wiederholt festgestellt, daß bei der Umstellung des Zeichensatzes von Samba Umlaute erst beim Neuanlegen von Dateien korrekt angezeigt werden. Bestehenden Datei(namen) mit Umlauten wurden auch nach Umsetzen von unix charset und display charset immer noch falsch angezeigt. Hab' ich auch nach dem Neukompilieren des Kennels feststellen müssen, als ich kernelseitig den default charset auf ISO8859-1 umgestellt habe.

Probier' mal die Dateien neu zu erstellen (z.B durch Kopieren von Win aus); dann sollte alles passen...

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 07.01.2005 22:02:04

Sorry für die späte Antwort. Nach umfangreichen Elektroarbeiten kann ich endlich wieder vernünftig am Server arbeiten.
Ich habe mal ein bisschen herumprobiert: mit iso8859-1 werden alle Apostrophs (`´ ')richtig dargestellt, aber kein Euro-Zeichen. Mit 8859-15 das Euro-Zeichen, aber keine apostrophs. Da mir Letzteres wegen den vielen apostroph-haltigen mp3-Dateien wichtiger ist, habe ich meine Einstellung nun auf 8859-1, € kommt in Dateinamen ohnehin normalerweise nie vor.

MfG; Fenta

Benutzeravatar
fkolbe
Beiträge: 3
Registriert: 06.02.2005 21:19:23

Beitrag von fkolbe » 06.02.2005 23:01:06

Also ich schlage mich ebenfalls mit diesem Problem rum, v.a. gibt es wohl unterschiede
zwischen den Programmen smbclient und smbfs.
Die SMB-Freigabe ist auf einem XP-Rechner.
Ich habe Windows-Seitig eine Test-Datei angelegt, mit allen Umlauten, sowie
dem Euro-Zeichen.
(wg. Euro-Fähigkeit unter Debian, s. http://www.debian.org/doc/manuals/debian-euro-support/ )

Dann versuche ich, die Datei unter Linux korrekt zu listen:

1. smbfs
colinux:~# mount -t smbfs //charly/audio /mnt -o username=user,password=user,iocharset=iso8859-15,codepage=cp850
colinux:~# ll /mnt/Test
insgesamt 0
-rwxr--r-- 1 root root 0 2005-02-06 13:11 windows_???_???_á_?.txt
2. smbclient
colinux:~# smbclient //charly/audio password
Domain=[CHARLY] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \> cd Test
smb: \Test\> ls
. D 0 Sun Feb 6 13:11:46 2005
.. D 0 Sun Feb 6 13:11:46 2005
windows_äöü_ÄÖÜ_ß_€.txt A 0 Sun Feb 6 13:11:34 2005

46308 blocks of size 2097152. 503 blocks available
D.h. mit smbclient geht es, mit smbfs nicht.

Weitere Facts:
a.) Ein ls- oder Terminal-Problem kann es ebenfalls nicht sein, da eine
auf dem Linux Filesystem angelegte Datei korrekt mit ls gelistet wird.
b.) /etc/inputrc hat den Schalter
set convert-meta off
c.) PuTTY (mit dem ich auf colinux gehe), hat ebenfalls ISO-8859-15 eingestellt
d.) Laut 'mode' ist die Codepage auf dem XP-Rechner 850.
e.) Ich fahre ein colinux 2.6.10-co-0.6.2 mit Debian 3.0 testing.
smbclient 3.0.10-Debian
mount.smbfs 3.0.10-Debian
f.) Locale ist:
de_DE@euro (ISO-8859-15)

Kann mir jemand bei diesem Problem weiterhelfen?

Mit freundlichen Grüßen,
Florian

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 07.02.2005 00:31:33

poste mal deine smb.conf und, falls du da einstellungen dazu vorgenommen hast, deine fstab.

Übrigens: Hat dein Samba auch die macke, dass Passwörter oberhalb 13 Zeichen probleme verursachen?
Bei mir kam immer, wenn ich smbpasswd -e USER oder -d USER eingegeben habe, die aufforderung, ein passwort zu vergeben, obwohl der USer längst angelegt war. Ich hab dann auf 3.0.0 zurückgewechselt, womit zwar jetzt diese Probleme verschwunden sind, das mounten von entfernten smb-freigaben aber nicht mehr funktioniert. Den Samba habe ich nicht als Paket, sondern als tarball installiert, wobei da anscheinend standardmäßig kein smbmount dabei ist *hmpf* :(

MfG; Fenta

Benutzeravatar
fkolbe
Beiträge: 3
Registriert: 06.02.2005 21:19:23

Beitrag von fkolbe » 07.02.2005 00:40:14

Hallo,
eine smb.conf habe ich zwar, aber ich dachte, die ist nur für den smb-server
relevant? Zudem ist dort so gut wie alles auskommentiert, sozusagen der
Auslieferungszustand (Debian).
Meine Linux-Kiste ist ja ein smb client, die XP-Kiste der Server.

/etc/fstab habe ich nix drin, ich habe es bisher nur mit dem manuellen mount-Aufruf versucht
(s. mein voriger Post).

Zu Deinem Passwort-Problem kann ich Dir leider nicht weiterhelfen, da habe ich keine
solchen Erfahrungswerte... Vielleicht hat es damit zu tun, dass Passwörter sowieso
auf eine bestimmte Länge abgeschnitten werden, und er sich stört, wenn es zu lang
eingegeben wird?

Mit freundlichen Grüßen,
Florian

Benutzeravatar
Fentanyl
Beiträge: 96
Registriert: 15.09.2004 23:08:35

Beitrag von Fentanyl » 07.02.2005 13:40:27

Oh sorry, war wohl etwas zu spät gestern ;)

Was ist, wenn du es mit codepage=850,iocharset=iso8859-1 mountest?

MfG; Fenta

Benutzeravatar
fkolbe
Beiträge: 3
Registriert: 06.02.2005 21:19:23

Beitrag von fkolbe » 12.02.2005 23:59:55

Ich bin jetzt von smbfs auf cifs umgestiegen, damit geht es!

Gruß,
Florian

woifi
Beiträge: 187
Registriert: 16.08.2003 15:23:45

Beitrag von woifi » 15.02.2005 15:05:31

hi!

habe das gleiche problem (bei mir allerdings kein windows xp, sondern eine linksys nslu2), allerdings bringt cifs bei mir nichts (außer dass ich als normaler user dann nicht mounten kann ;))

mit smbclient hab ich kein problem mit den umlauten, nur wenn ich mounten will, hab ich die troubles...
hier der /etc/fstab eintrag:

Code: Alles auswählen

//10.10.0.14/DISK\0401  /home/woifi/media/music/        smbfs    noauto,user,uid=woifi,gid=woifi,username=user   0       0
in der smb.conf sind die eintragungen korrekt, auch die explizite angeabe beim mounten (codepage=850,iocharset=iso8859-15) bringt nichts

any ideas?

bye

woifi

Antworten