Назад | Перейти на главную страницу

Хорошо ли работает Samba с Windows, если включены имена с учетом регистра?

Я хочу, чтобы общий ресурс Samba * nix был доступен клиентам Windows.

Samba имеет возможность включать или отключать чувствительность к регистру имен файлов. Обычно для доступа к Windows это отключено, поэтому fred == FRED = fReD.

Однако это приводит к одной важной проблеме, AFAICT:

Итак, мой вопрос: как Samba ведет себя в Windows, если флаг с учетом регистра установлен в «ON»? Может ли пользователь по-прежнему видеть обе папки и согласованно работать с файловыми операциями?

Все должно быть хорошо. Проводник Windows отлично справляется с отображением регистра имен файлов. Я использую это в моем 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". Я открыл "ТЕСТ1" и увидел файл "бар". Все идет нормально.

Затем я вернулся в каталог test и в окне проводника переименовал TEST1 в TEST2. Windows немного испугалась - она ​​переименовала папку, а затем показала ОБЕИ папки как TEST2 - похоже, переименовала обе папки. Но в терминале SSH я проверил:

$ ls
test1 TEST2

Итак, Windows переименовала файл, и Samba правильно получила имя файла. Когда я нажал F5 в окне проводника, чтобы обновить содержимое папки, дисплей изменился, чтобы отобразить правильные имена папок.

Предостережение: Файловые системы Linux допускают некоторые символы, которые не поддерживает Windows (например, «:»). В Samba есть опция "изменения имени" чтобы превратить эти имена файлов в то, что понравится Windows. Если я создаю файл с именем «FA: 23» в моем окне SSH, например, Samba изменяет имя до «F7T4H0 ~ F», и это то, что появляется в окне проводника.

Варианты, которые сработали для меня, приведены ниже:

preserve case           = yes
short preserve case     = yes