Dear Samba Developers, Dear Urban,
This was my original letter. I hope you get it correctly this time.
Maybe it was too big, now I reduced the size of this letter.
My goal is to make a Linux fileserver up and running with automatic
archiving functionality in a mixed Windows 2000 - Linux network and
since the beginning of February I could not solve my problem, so I
write to you hoping that you can give me a hint.
System details:
FILE SERVER:
Linux Mandrake 8.1
Kernel 2.4.8-26
Samba 2.2.3a
5 WORKSTATIONS:
Windows 2000 SP2 HUN
TCP/IP Windows Network
I'm facing serious problems while attempting to mount Windows 2000 HUN
shared folders with Hungarian characters in it. The codepage is 852 and
the winzipped file test.zip contains and example shared folder which
cannot be used under Linux, giving me an error message:
You do not have enough permissions to read
file:/mnt/winmentes1/aktuam/Fd'terv_
This is while attempting to open the folder named: "F?terv_?br?k_?1"
I'm using the smbmount command to mount Windows shared folders, see the
crontab file here attached.
I also attached the smb.conf file from the Linux machine for your
information.
The most important thing is that there is no difference when using the
iocharset and codepage options or when there is no such option at all or
when I used ISO8859-1 and cp850 instead of ISO8859-2 and cp852. Why is
this? Maybe the codepage files are in a wrong directory on my Linux
system? Now they can be found under /var/lib/samba/codepages/
It is interesting that files containing hungarian characters shared
under Linux can be perfectly well opened, copied and manipulated
remotely using a Windows 2000 machine. So the Samba server is OK, only
the client is not working as needed.
Thanks in advance for your help,
Miklos Laszlo
system administrator
Real 91 Design Office Ltd.
-------------- next part --------------
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
# biztonsagi mentesek
# min hour dom mon dow user command
# Laci-1700 gep mentese
00 13 * * * root /usr/bin/smbmount //LACI-1700/sapientia2002
/mnt/winmentes1/aktual -o credentials=/etc/samba/passwd ip=192.168.0.93
iocharset=ISO8859-2 codepage=852
01 13 * * * root /bin/tar -czf /mnt/winmentes2/Laci/Laci.tgz
/mnt/winmentes1/aktual
59 13 * * * root /usr/bin/smbumount /mnt/winmentes1/aktual
# Tibor-1700 gep mentese
00 14 * * * root /usr/bin/smbmount //TIBOR-1700/UJSAG /mnt/winmentes1/aktuat
-o credentials=/etc/samba/passwd ip=192.168.0.94 iocharset=ISO8859-2
codepage=852
01 14 * * * root /bin/tar -czf /mnt/winmentes2/Tibor/Tibor.tgz
/mnt/winmentes1/aktuat
59 14 * * * root /usr/bin/smbmount /mnt/winmentes1/aktuat
# Miki-1700 gep mentese
00 15 * * * root /usr/bin/smbmount //MIKI-1700/aktualismunka
/mnt/winmentes1/aktuam -o credentials=/etc/samba/passwd ip=192.168.0.91
iocharset=ISO8859-2 codepage=852
01 15 * * * root /bin/tar -czf /mnt/winmentes2/Miki/Miki.tgz
/mnt/winmentes1/aktuam
59 15 * * * root /usr/bin/smbmount /mnt/winmentes1/aktuam
# Krisz-K7 gep mentese
00 16 * * * root /usr/bin/smbmount //KRISZ-K7/AKTUALIS
/mnt/winmentes1/aktuak -o credentials=/etc/samba/passwd ip=192.168.0.92
iocharset=ISO8859-2 codepage=852
01 16 * * * root /bin/tar -czf /mnt/winmentes2/Krisz/Krisz.tgz
/mnt/winmentes1/aktuak
59 16 * * * root /usr/bin/smbmount /mnt/winmentes1/aktuak
# Tam?s gep mentese
00 17 * * * root /usr/bin/smbmount //TAM?S/word6.0 /mnt/winmentes1/aktuaa -o
credentials=/etc/samba/passwd ip=192.168.0.1 iocharset=ISO8859-2 codepage=852
01 17 * * * root /bin/tar -czf /mnt/winmentes2/Tamas/Tamas.tgz
/mnt/winmentes1/aktuaa
59 17 * * * root /usr/bin/smbmount /mnt/winmentes1/aktuaa
# Mandrake-Security : if you remove this comment, remove the next line too.
0 4 * * * root /usr/share/msec/security.sh
-------------- next part --------------
# Samba config file created using SWAT
# from localhost.localdomain (127.0.0.1)
# Date: 2002/02/23 21:21:05
# Global parameters
[global]
client code page = 852
netbios name = KOTROGEP
netbios aliases = kotrogep
server string = Real91 file server
encrypt passwords = Yes
map to guest = Bad Password
null passwords = Yes
large readwrite = Yes
time server = Yes
load printers = No
character set = ISO8859-2
os level = 35
domain master = False
dns proxy = No
valid chars = ?:? ?:? ?:? ?:? ?:? ?:? ?:? ?:? ?:?
hosts allow = 192.168.0.1 192.168.0.91 192.168.0.92 192.168.0.93 192.168.0.94
192.168.0.95 192.168.0.96
[Install]
path = /mnt/win_d/Install
read only = No
guest only = Yes
guest ok = Yes
[Public]
path = /mnt/win_d/Public
read only = No
guest only = Yes
guest ok = Yes
[Kozos]
path = /mnt/winkozos
read only = No
guest only = Yes
guest ok = Yes
[Mentes1]
path = /mnt/winmentes1
read only = No
guest only = Yes
guest ok = Yes
[Mentes2]
path = /mnt/winmentes2
read only = No
guest only = Yes
guest ok = Yes
On Sun, 10 Mar 2002, [iso-8859-2] L?szl? Mikl?s wrote:> The most important thing is that there is no difference when using the > iocharset and codepage options or when there is no such option at all or > when I used ISO8859-1 and cp850 instead of ISO8859-2 and cp852. Why is > this? Maybe the codepage files are in a wrong directory on my Linux > system? Now they can be found under /var/lib/samba/codepages/You are missing an important thing, the samba codepages are completely irrelevant. Only a few parts of samba is used when using smbmount. smbmount is only responsible for connecting to the server, it does not do any listings or file downloads. All the string translations for the filenames are done by the smbfs kernel module, using the kernel nls modules. In order for it to find the nls module to use the name of the iocharset and codepage parameters must match the kernel modules (except for the nls_ prefix). There is no kernel nls module named ISO8859-2, but there is one named nls_iso8859-2, so the correct iocharset name would be iso8859-2. Same about using codepage 852, the proper name is cp852 because the nls module is named nls_cp852. The sample values mentioned in the smbmount manpage follows this. After mounting use lsmod to verify that the relevant nls modules have been loaded (or have an increased "used" count if they were already loaded). If you build your own kernels, make sure you built the nls modules you need. However, it never gets that far. Using one of the crontab entries as example: /usr/bin/smbmount //KRISZ-K7/AKTUALIS /mnt/winmentes1/aktuak -o credentials=/etc/samba/passwd ip=192.168.0.92 iocharset=ISO8859-2 codepage=852 Why do you have space between the -o options? Where did you get the idea that it would work with space? All the examples I know of show how to separate options properly using , If you have an example of that, let me know so we can correct it. You could have written goobliglock as your codepage, smbmount stops reading after your credentials entry because -o only takes one string as argument. Unless you have a reason to call smbmount directly it is probably better to use the "mount -t smbfs" syntax. That will continue to work even if smbmount is replaced. But that does not affect this problem. You should try the following, or the smbmount equivalent. mount -t smbfs -o credentials=/etc/samba/passwd,ip=192.168.0.92,iocharset=iso8859-2,codepage=cp852 //KRISZ-K7/AKTUALIS /mnt/tmp I also don't know why you have /mnt/winmentes1 in your smb.conf. You don't need to do that for smbmount/smbfs. But perhaps you are doing something else there. Name lookups, logging, workgroup and socket options are used (and probably some other settings), the rest of smb.conf such as the shares isn't used by smbmount. /Urban