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.
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.
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
Pilih "mode lanjutan" dan centang catia dan buah di "objek VFS"
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 = no
di[global]
bagian ke/etc/samba/smb.conf
dan memulai kembali Samba memperbaiki masalah.sumber
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
fruit:encoding = native
Kemudian goto Services dan restart SMB
sumber