Problem z mangled namesopcją Samby polega na tym, że żadne ustawienie nie jest idealne. Możesz mieć nazwy, które nie są zniekształcone, ale nie można uzyskać do nich dostępu w żaden sposób, ponieważ zawierają one niedozwolone znaki lub nazwy, które są zniekształcone do formatu DOS 8.3 i dlatego są prawie nieczytelne.
Na szczęście istnieje (teraz) moduł VFS o nazwie,catia który zapewni niestandardowe odwzorowanie znaków. W szczególności możliwe jest mapowanie znaków uznanych za nielegalne w nazwach plików Windows.
W [global]sekcji umieść te linie:
# Mapping illegal characters, where enabled with "vfs objects = catia"
mangled names = no
catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
W każdej [share_name]sekcji dodaj następną linię (jeśli masz już vfs objectslinię, po prostu dołącz catiado listy):
vfs objects = catia
W moim systemie opartym na Debianie ten moduł obiektowy VFS został zainstalowany jako część standardowego pakietu.
Jednym z przykładów nazwy pliku mapowanej przez to ustawienie jest 2017-12-24 12:23.txt. Używanie mangled names = yesma ten plik wyświetlany jako 2BB0Y9~4.TXT. Użycie vfs objects = catiazamiast tego powoduje wyświetlenie tej nazwy pliku jako 2017-12-24 12÷23.txt. Nie jest idealny, ale całkiem niezły. Co najważniejsze, mogę uzyskać do niego dostęp z aplikacji Windows.
Zobacz ⁚ ∶ ׃ ꞉ dla innych znaków, które wyglądają jak dwukropek ASCII.
Stéphane Chazelas
@ StéphaneChazelas prosimy również o przesłanie tego jako sugestii zespołowi programistycznemu Samby. Właśnie wziąłem ich sugerowaną listę.
roaima
Kiedy udostępniam folder Nautilusowi, folder ten oczywiście nie pojawia się w /etc/samba/smb.conf. Jak mogę zastosować twoje rozwiązanie w tym scenariuszu?
Hans Deragon,
To jest idealne, dziękuję.
Czy
5
Z jakiegoś powodu Samba zaczęła zmieniać nazwy plików zawierające dwukropek. Do tej pory nie znalazłem nic na temat tego zachowania w Internecie.
Rozwiązanie jest bardzo proste. Dodanie mangled names = now [global]sekcji do /etc/samba/smb.confi ponownym Samba naprawił problem.
To rozwiązanie jest niekompletne. Pliki z niedozwolonymi znakami systemu Windows, takimi jak „:”, nie są wyświetlane. Zobacz rozwiązanie roaima.
Hans Deragon
1
Znak zapytania znaków specjalnych? \ <> * itp. są nielegalne w nazwach plików Windows i zawsze unikam ich używania.
Niemniej jednak nie mam problemu z tymi znakami korzystającymi z mojej macOS Catalina uzyskującej dostęp do konfiguracji FreeNAS-11.3-U1 i SMB / Samba. Nie jestem pewien, dlaczego to ustawienie nie jest domyślnie, ale musisz wykonać następujące kroki, aby działało bezbłędnie w systemie MacOS.
W interfejsie internetowym FreeNAS przejdź do Udostępnianie> SMB> Edytuj
Wybierz „tryb zaawansowany” i zaznacz zarówno catia, jak i owoce w „Obiektach VFS”
Ustaw parametr pomocniczy na fruit:encoding = native
Następnie przejdź do Usługi i uruchom ponownie SMB
Z jakiegoś powodu Samba zaczęła zmieniać nazwy plików zawierające dwukropek. Do tej pory nie znalazłem nic na temat tego zachowania w Internecie.
Rozwiązanie jest bardzo proste. Dodanie
mangled names = no
w[global]
sekcji do/etc/samba/smb.conf
i ponownym Samba naprawił problem.źródło
Znak zapytania znaków specjalnych? \ <> * itp. są nielegalne w nazwach plików Windows i zawsze unikam ich używania.
Niemniej jednak nie mam problemu z tymi znakami korzystającymi z mojej macOS Catalina uzyskującej dostęp do konfiguracji FreeNAS-11.3-U1 i SMB / Samba. Nie jestem pewien, dlaczego to ustawienie nie jest domyślnie, ale musisz wykonać następujące kroki, aby działało bezbłędnie w systemie MacOS.
W interfejsie internetowym FreeNAS przejdź do Udostępnianie> SMB> Edytuj
fruit:encoding = native
Następnie przejdź do Usługi i uruchom ponownie SMB
źródło