Hi-
I've got a weird case sensitivity problem. I've looked through past
messages but haven't been able to find a solution. This is an
environment using samba to mount shares from a Solaris machine onto a
Red Hat machine (originally done because of 16-bit UID limitations in
Red Hat 6.x).
Now I've upgraded to Red Hat 7.2 (samba 2.2.1a) and the share from the
Solaris machine doesn't seem to recognize case. On the Solaris side
the share looks like this:
[homes-unix]
comment = home directory (%H) for %u (UNIX semantics)
path = %H
writeable = Yes
inherit permissions = Yes
case sensitive = Yes
short preserve case = Yes
preserve case = Yes
When I use smbmount on the Linux side, even with "preserve case"
turned
on, I run into problems when case is a factor. For example:
> bash-2.05$ smbmount //spiro/homes-unix foo
> Password:
> bash-2.05$ cd foo
> bash-2.05$ mkdir Abc
> bash-2.05$ mkdir abc
> mkdir: cannot create directory `abc': File exists
or I can see a directory "Abc" and "rmdir abc" and it will
remove "Abc".
And so on.
The weird thing is that the exact same share from Solaris does not
exhibit this problem when we do the identical thing from a Red Hat
7.1 machine using samba 2.0.7. I've searched in the Red Hat knowledge
base online as well, and not found anything related to this. Has anyone
seen this type of problem before? I've tried all sorts of combinations
of case sensitivity and preservation, without success.
I know just enough about samba to be dangerous, so it's quite possible
I'm missing something here and it could all be pilot error. Any pointers
would be appreciated.
I include the Linux smb.conf file below:
========================================================# Samba config file
created using SWAT
# from webcache-mpk-01.Eng.Sun.COM (129.146.1.171)
# Date: 2002/03/08 10:04:15
# Global parameters
[global]
workgroup = SFBAY
server string = Samba Server
encrypt passwords = Yes
username map = /etc/samba/smbusers
log file = /var/log/samba/%m.log
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
printing = lprng
case sensitive = Yes
preserve case = Yes
short preserve case = Yes
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
========================================================
Thanks!
Jerry Drake
jerry.drake@sun.com
"Stupidity is like nuclear power; it can be used for good or evil."
"And you don't want to get any on you."
-Dilbert
On Fri, 8 Mar 2002, jerry drake wrote:> When I use smbmount on the Linux side, even with "preserve case" turned > on, I run into problems when case is a factor. For example: > > > bash-2.05$ smbmount //spiro/homes-unix foo > > Password: > > bash-2.05$ cd foo > > bash-2.05$ mkdir Abc > > bash-2.05$ mkdir abc > > mkdir: cannot create directory `abc': File exists > > or I can see a directory "Abc" and "rmdir abc" and it will remove "Abc". > And so on.Linux smbfs defaults to running in case-insensitive mode. When you create Abc a "dentry" is created in the kernel with this name. When you try to create abc, the smbfs code is asked to look if there is a dentry with this name and since it is case-insensitive it says "yes" (and mkdir errors). As I understand it this is also how a windows client would react, abc and Abc are the same name. If you are using windows machines these names are probably going to cause trouble, if you are not using windows clients you may want to consider using nfs instead. You could try adding -o case to your smbmount command. I don't expect that to work too well as it is an almost untested setting.> The weird thing is that the exact same share from Solaris does not > exhibit this problem when we do the identical thing from a Red Hat > 7.1 machine using samba 2.0.7. I've searched in the Red Hat knowledgeThe difference for smbfs when using samba 2.0.7 and 2.2.1a is probably something in how smbmount negotiates with the server. Or it could be the different kernels used (different smbfs code). Get a copy of the latest version of ethereal and get a trace of the network traffic. See how the negotiation differs, what other requests differ including the mkdir request. /Urban