Buckminster
(usa Debian)
Enviado em 25/03/2024 - 10:13h
"Here is how Samba handles case: if the preserve case is set to yes, Samba will always use the case provided by the operating system for representing (not resolving) filenames. If it is set to no, it will use the case specified by the default case option. The same is true for short preserve case. If this option is set to yes, Samba will use the default case of the operating system for representing 8.3 filenames; otherwise it will use the case specified by the default case option. Finally, Samba will always resolve filenames in its shares based on the value of the case sensitive option."
"Aqui está como o Samba trata o case: se 'preserve case' estiver definido como 'yes', o Samba sempre usará o case fornecido pelo sistema operacional para representar (não resolver) nomes de arquivos. Se estiver definido como 'no', o Samba usará o case especificado pelo default (lower). O mesmo é verdade para 'short preserve case'. Se esta opção estiver definida como 'yes', o Samba usará o case padrão do sistema operacional para representar nomes de arquivos 8.3 (esses nomes são aqueles com 8 caracteres um ponto e a extensão com 3 carcteres); caso contrário, usará o case especificado pela opção default (lower). Finalmente, o Samba sempre resolverá os nomes dos arquivos em seus compartilhamentos com base no valor da opção 'case sensitive'."
case sensitive
(casesignames)
boleano
Se yes, o Samba tratará os nomes dos arquivos com distinção entre maiúsculas e minúsculas (o Windows não).
O padrão é 'no'.
O escopo é 'Compartilhar (Share)'.
Veja no primeiro link abaixo a tabela 5.7, ali está bem explícito que uma opção interfere na outra, por exemplo, 'default case' (upper ou lower) somente deve ser usada quando 'preserve case' estiver como 'no' e se a opção 'preserve case' estiver como 'yes' o Samba deixará o case ser definido pelo cliente.
Tente no smb.conf:
case sensitive = auto
preserve case = yes
short preserve case = yes
Por padrão, o Samba 3.0 tem a mesma semântica de um servidor Windows NT, no sentido de que não diferencia maiúsculas de minúsculas, mas preserva maiúsculas de minúsculas. Como um caso especial para diretórios com grande número de arquivos, se as opções de maiúsculas e minúsculas forem definidas como segue, "casesensitive = yes", "preserve case = no", "short preserve case = no", então a opção "default case" (lower) será aplicada e modificará todos os nomes de arquivos enviados pelo cliente ao acessar este compartilhamento."
5.4.2.2 default case
A opção 'default case' é usada com 'preserve case'. Isto especifica o case padrão (maiúsculo ou minúsculo) que o Samba usará quando criar um arquivo em um de seus compartilhamentos em nome de um cliente. O case padrão é 'lower', o que significa que os arquivos recém-criados usarão os nomes mistos fornecidos a eles pelo cliente. Se necessário, você pode substituir esta opção global especificando o seguinte:
[global]
default case = upper
Se você especificar esse valor, os nomes dos arquivos recém-criados serão traduzidos para letras maiúsculas e não poderão ser substituídos (reescritos) em um programa. Recomendamos que você use o valor padrão, a menos que esteja lidando com um Windows for Workgroups ou outro cliente 8.3; nesse caso, deveria ser upper.
Vá jogando com as opções até conseguir, pois isso vai de acordo com os clientes (Linux e/ou Windows, etc). Talvez você tenha que criar diretivas 'case' específicas no compartilhamento dos clientes de acordo com o sistema operacional (Linux, Windows, etc) para evitar esses comportamentos estranhos.
E ainda tem as opções 'mangled names', 'mangle case', etc.
No segundo link abaixo veja a seção 'NAME MANGLING'.
preserve case - controla se novos arquivos (ou seja, arquivos que não existem atualmente no sistema de arquivos) são criados com o case que o cliente passa ou se são forçados a ser o 'default case'. Padrão 'yes'.
https://www.oreilly.com/openbook/samba/book/ch05_04.html
https://www.samba.org/samba/docs/3.4/man-html/smb.conf.5.html
"NAME MANGLING
Samba supports name mangling so that DOS and Windows clients can use files that don't conform to the 8.3 format. It can also be set to adjust the case of 8.3 format filenames.
There are several options that control the way mangling is performed, and they are grouped here rather than listed separately. For the defaults look at the output of the testparm program.
These options can be set separately for each service.
The options are:
case sensitive = yes/no/auto
controls whether filenames are case sensitive. If they aren't, Samba must do a filename search and match on passed names. The default setting of auto allows clients that support case sensitive filenames (Linux CIFSVFS and smbclient 3.0.5 and above currently) to tell the Samba server on a per-packet basis that they wish to access the file system in a case-sensitive manner (to support UNIX case sensitive semantics). No Windows or DOS system supports case-sensitive filename so setting this option to auto is that same as setting it to no for them. Default auto.
default case = upper/lower
controls what the default case is for new filenames (ie. files that don't currently exist in the filesystem). Default lower. IMPORTANT NOTE: This option will be used to modify the case of all incoming client filenames, not just new filenames if the options case sensitive = yes, preserve case = No, short preserve case = No are set. This change is needed as part of the optimisations for directories containing large numbers of files.
preserve case = yes/no
controls whether new files (ie. files that don't currently exist in the filesystem) are created with the case that the client passes, or if they are forced to be the default case. Default yes.
short preserve case = yes/no
controls if new files (ie. files that don't currently exist in the filesystem) which conform to 8.3 syntax, that is all in upper case and of suitable length, are created upper case, or if they are forced to be the default case. This option can be used with preserve case = yes to permit long filenames to retain their case, while short names are lowercased. Default yes.
By default, Samba 3.0 has the same semantics as a Windows NT server, in that it is case insensitive but case preserving. As a special case for directories with large numbers of files, if the case options are set as follows, "case sensitive = yes", "case preserve = no", "short preserve case = no" then the "default case" option will be applied and will modify all filenames sent from the client when accessing this share."
_________________________________________________________
Always listen the Buck!
Enquanto o cursor estiver pulsando, há vida!