Это должно быть хорошо. Windows Explorer отлично справляется с отображением регистра имени файла. Я использую это в своем файле smb.conf, чтобы убедиться, что я набираю в Проводнике то, что использует Samba (я установил все эти ресурсы для каждого ресурса):
case sensitive = True
default case = lower
preserve case = yes
short preserve case = yes
Я провел быстрый тест (Samba 3.0.24 на бэкэнде, WinXP на фронте). Файлы были созданы на сервере Samba через сеанс SSH.
$ cd /some/samba/share/path
$ mkdir test
$ cd test
$ mkdir test1 TEST1
$ touch test1/foo TEST1/bar
После этого я просмотрел свой подключенный диск к тестовой директории. Я вижу каталоги "test1" и "TEST1". Я открыл «test1» и увидел файл «foo». Я открыл «TEST1» и увидел файл «bar». Все идет нормально.
Затем я вернулся в тестовый каталог и в окне проводника переименовал TEST1 в TEST2. Windows слегка взбесилась - она переименовала папку, а затем показала ОБА папок как TEST2 - похоже, переименовала обе папки. Но в терминале SSH я проверил:
$ ls
test1 TEST2
Поэтому Windows переименовала файл, и Samba правильно получила имя файла. Когда я нажал F5 в окне проводника, чтобы обновить содержимое папки, дисплей изменился, чтобы показать правильные имена папок.
Предостережение: файловые системы Linux допускают некоторые символы, которых нет в Windows (например, «:»). У Samba есть опция «искажения имени», чтобы превратить эти имена в то, что понравится Windows. Например, если я создаю файл с именем «FA: 23» в моем окне SSH, Samba меняет имя на «F7T4H0 ~ F», и это то, что появляется в окне проводника.
case sensitive
опция включена. Вы должны использовать этуauto
опцию в этом случае.Варианты, которые работали для меня ниже:
источник