I want to have a *nix Samba share accessible by Windows clients.

Samba has an option to enable or disable filename case-sensitivity. Normally for windows access, this is disabled, so that fred==FRED=fReD.

However, this leads to one major gotcha, AFAICT:

  • On unix, you create two folders called "RODDY" and "roddy"
  • On Windows, you'll see both of the folders, but...
  • When you delete/rename/open one from Windows, you could end up deleting/renaming/etc either of them. You have no way of knowing which!.

So, my question is, how does Samba behave on windows if the case-sensitive flag is set "ON"? Can a user still see both folders, and have file operations work in a consistent manner?

2 Answers 2


It should be fine. Windows Explorer does a fine job of displaying filename case correctly. I use this in my smb.conf to make sure what I type in Explorer is what Samba uses (I set all of these per-share):

case sensitive = True
default case = lower
preserve case = yes
short preserve case = yes

I ran through a quick test (Samba 3.0.24 on the backend, WinXP on the front). Files were created on the samba server via an SSH session.

$ cd /some/samba/share/path
$ mkdir test
$ cd test

$ mkdir test1 TEST1
$ touch test1/foo TEST1/bar

After this, I browsed through my mapped drive to the test directory. I can see both "test1" and "TEST1" directories. I opened "test1" and saw the "foo" file. I opened "TEST1" and saw the "bar" file. So far so good.

Then I went back to the test directory, and in the Explorer window, renamed TEST1 to TEST2. Windows freaked slightly -- it renamed the folder, then showed BOTH folders as TEST2 -- appearing to have renamed both folders. But, in the SSH terminal, I checked:

$ ls
test1 TEST2

So Windows renamed the file, and Samba got the filename correctly. When I pressed F5 in the Explorer window to refresh the folder contents, the display changed to show the correct folder names.

Caveat: Linux filesystems allow some characters that Windows doesn't (like ":"). Samba has a "name mangling" option to turn those filenames into something Windows will like. If I make a file called "FA:23" in my SSH window, for example, Samba mangles the name to "F7T4H0~F" and that's what appears in the Explorer window.

  • Note that with a Windows 95 client you can't access directories inside shares when the case sensitive option is enabled. You should use the auto option in this case.
    – devius
    Oct 18, 2014 at 16:32
  • Assume you have two folders on your unix filesystem: Test1 and test1 Which one will a user see in windows? Can I makge sure in Samba that if a folder Test1 exists, and someone on unix tries to create a folder test1, that it automatically merges it to Test1 instead, so that Windows users will always be able to see all files? In my experience, Windows user cannot see both folders if Test1 and test1 exist, but only one of them.
    – Erik
    Apr 15, 2016 at 8:13
  • @Erik Normally both will show up. Windows understands case sensitivity at all levels and has it implemented deep down to its file systems. Didn't try though.
    – oxygen
    Jul 3, 2018 at 15:43
  • According to the official documentation (samba.org/samba/samba/docs/3.4/man-html/smb.conf.5.html) the case sensitive = True is not correct. This is the correct configuration: case sensitive = yes/no/auto. Be careful with this!
    – zappee
    Jun 19, 2021 at 14:28
  • Note that even with these options set, there's still an explorer bug (at least in Win10) that will not move into differently-cased directories when you click the tree in the left pane to switch between them. But going back up to the parent directory and entering them from the right/main panel does have the expected behavior, so for anyone enabling these, make sure you try the latter when testing your server's configuration change. Dec 22, 2022 at 19:47

The options which worked for me are below:

preserve case           = yes
short preserve case     = yes

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .