samba jak wyświetlać pliki z dwukropkami w swoich nazwach?


13

Samba nie wyświetla poprawnie plików, jeśli zawierają dwukropek.

Oryginalna nazwa pliku: test:file.txt

Wyświetlana nazwa w systemie Windows: T8S6CH~R.TXT

Jak mogę to naprawić?

Informacje:

Linux: SLES 11 SP 3

Samba: Version 3.6.3-0.33.39.1-3128-SUSE-CODE11-x86_64

Odpowiedzi:


13

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.


1
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.


Wspaniale to wiedzieć! +1
Luciano Andress Martini

4
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

  1. Wybierz „tryb zaawansowany” i zaznacz zarówno catia, jak i owoce w „Obiektach VFS”
  2. Ustaw parametr pomocniczy na fruit:encoding = native

Następnie przejdź do Usługi i uruchom ponownie SMB

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.