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