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 existsor 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