samba cara menampilkan file dengan titik dua di namanya?


13

Samba tidak menampilkan file dengan benar ketika mengandung titik dua.

Nama file asli: test:file.txt

Nama tampilan di bawah Windows: T8S6CH~R.TXT

Bagaimana saya bisa memperbaikinya?

Info:

Linux: SLES 11 SP 3

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

Jawaban:


13

Masalah dengan mangled namesopsi Samba adalah bahwa tidak ada pengaturan yang ideal. Anda dapat memiliki nama-nama yang tidak rusak, tetapi tidak dapat diakses dengan cara apa pun karena mengandung karakter ilegal, atau nama-nama yang rusak ke dalam format DOS 8.3 dan karenanya hampir tidak dapat dibaca.

Untungnya ada (sekarang) modul VFS yang disebutcatia yang akan menyediakan pemetaan karakter khusus. Secara khusus dimungkinkan untuk memetakan karakter yang dianggap ilegal di nama file Windows.

Di [global]bagian tempatkan garis-garis ini:

    # 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

Di setiap [share_name]bagian tambahkan baris berikutnya ini (jika Anda sudah memiliki vfs objectsbaris, cukup tambahkan catiake daftar):

    vfs objects = catia

Pada sistem berbasis Debian saya, modul objek VFS ini diinstal sebagai bagian dari paket standar.

Salah satu contoh nama file yang dipetakan oleh pengaturan ini adalah 2017-12-24 12:23.txt. Menggunakan mangled names = yesfile ini ditampilkan sebagai 2BB0Y9~4.TXT. Menggunakan vfs objects = catiabukannya memiliki nama file ini ditampilkan sebagai 2017-12-24 12÷23.txt. Itu tidak sempurna tetapi cukup bagus. Dan yang paling penting, saya dapat mengaksesnya dari aplikasi Windows.


1
Lihat ⁚ ∶ ׃ ꞉ untuk karakter lain yang mirip ASCII.
Stéphane Chazelas

@ StéphaneChazelas jangan ragu untuk mengirimkannya sebagai saran kepada tim pengembangan Samba. Saya hanya mengambil daftar yang mereka sarankan.
roaima

Ketika saya berbagi folder dengan Nautilus, folder itu tidak jelas muncul di /etc/samba/smb.conf. Bagaimana saya bisa menerapkan solusi Anda dalam skenario ini?
Hans Deragon

Ini sempurna, terima kasih.
Will

5

Untuk beberapa alasan Samba mulai memotong-motong nama file yang mengandung titik dua. Sejauh ini saya tidak dapat menemukan apa pun mengenai perilaku ini di Internet.

Solusinya sangat sederhana. Menambahkan mangled names = nodi [global]bagian ke /etc/samba/smb.confdan memulai kembali Samba memperbaiki masalah.


Senang mengetahui hal itu! +1
Luciano Andress Martini

4
Solusi ini tidak lengkap. File dengan karakter Windows ilegal seperti ':' tidak ditampilkan. Lihat solusi roaima.
Hans Deragon

1

Tanda tanya karakter khusus? \ <> * dll adalah ilegal di nama file windows dan saya selalu menghindari menggunakannya.

Namun demikian, saya tidak memiliki masalah dengan karakter-karakter ini menggunakan macOS Catalina saya mengakses pengaturan FreeNAS-11.3-U1 dan SMB / Samba saya. Saya tidak yakin mengapa pengaturan ini tidak secara default, tetapi Anda harus mengikuti langkah-langkah ini untuk membuatnya berfungsi sempurna dengan MacOS.

Di webUI FreeNAS, Berbagi goto> SMB> Edit

  1. Pilih "mode lanjutan" dan centang catia dan buah di "objek VFS"
  2. Setel parameter bantu ke fruit:encoding = native

Kemudian goto Services dan restart SMB

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.