Como são tratados os caracteres do windows® não permitidos em um stick usb formatado em fat32?

0

Eu não possuo um mac, então não posso falar sobre coisas como ? ou : em nomes de arquivos ...

Estou especialmente interessado no separador de caminho Dos / Windows®: \ . Eu sei que no Linux é um caractere legal que pode ser usado dentro de nomes de arquivos fat32 (o Windows® irá reclamar que o volume está corrompido) .
O mesmo vale para osx? Ou a execução de mkdir ..\dirent criará dirent no diretório pai (ainda no caso de fat32, já sei o comportamento em hfs) ?

Claro que estou falando sobre o caso em que o volume é montado pelo Finder.
Dependendo da resposta, pode confirmar a existência de uma vulnerabilidade em um software de gerenciamento de código-fonte popular…

    
por user2284570 18.04.2016 / 00:20

1 resposta

0

Esta é uma pergunta interessante, e eu tive que descobrir isso no meu MacBook com o sistema operacional "OS X El Capitan". Você tem que diferenciar entre os caracteres não permitidos no localizador / aplicativos usando o localizador (por exemplo, editor de texto) versus a linha de comando.

Primeiro de tudo, a barra invertida "\" é como qualquer caractere normal tanto no localizador quanto na linha de comando. Então você pode criar um arquivo ou diretório como A \ B. O mesmo é verdadeiro para o ponto de interrogação.

Quando se trata do cólon ":", então fica complicado. Quando você cria um arquivo chamado A: B na linha de comando, ele é criado e exibido corretamente na linha de comando, mas é exibido como A / B no localizador. E se você tentar criar um arquivo contendo um caractere de dois-pontos, como C: D, receberá o erro "O nome C: D não pode ser usado. Tente usar um nome com menos caracteres ou sem sinais de pontuação. "

Criando um arquivo ou diretório que comece com o ponto "." pode ser feito na linha de comando, sem problemas. Mas, como esses tipos de arquivos e diretórios são usados para arquivos e diretórios ocultos, não é possível criá-los no localizador. Em vez disso, você receberá uma janela de erro dizendo "Você não pode usar um nome que começa com um ponto". ", Porque esses nomes são reservados para o sistema. Por favor, escolha outro nome." Se você executar o comando

mkdir ..\dirent

na linha de comando, então isso cria o diretório oculto com o nome

..\dirent 

no diretório atual, portanto, não é um diretório chamado dirent no diretório pai.

A propósito: eu testei isso com um stick usb formatado em fat32, mas mesmo se eu usasse um disco rígido externo formatado em NTFS ou o drive interno SSD formatado em HFS +, ele se comportaria da mesma forma.

Se eu observar todos esses arquivos e diretórios (que eu escrevi no meu MacBook para o pendrive) no Windows Explorer (com o Windows 10), a barra invertida, os dois-pontos e o ponto de interrogação serão exibidos de maneira diferente do MacBook. , cada um deles com o mesmo caractere especial que eu não posso criar no teclado nem posso copiar e colar corretamente - colar nesta janela aqui cria "" que não se parece com o caractere exibido no Windows Explorer. No Windows Explorer, ele é semelhante ao ponto ".", Mas esse ponto está localizado um pouco acima do ponto normal, portanto, verticalmente no meio.

Espero poder ajudar você de alguma forma.

    
por 18.04.2016 / 03:01