Saat menyajikan file yang mengandung karakter khusus seperti "() ?:" dalam nama file melalui Samba, nama-nama tersebut ditransformasikan menjadi format yang tidak dapat dikenali. Misalnya, sebuah file
my_file:_(important).txt
ditampilkan sebagai
M43J1E~0.TXT
Apakah ada cara untuk menghindari perilaku ini (tanpa mengganti nama file, jelas)? Saya berasumsi bahwa pengkodean karakter tidak dapat disalahkan karena beberapa karakter UTF-8 tampaknya berfungsi dengan baik.
Jawaban:
Windows tidak mengizinkan beberapa karakter dalam nama file yang diizinkan Unix. Samba "mangles" nama file untuk membuat mereka mematuhi batasan Windows. Anda dapat memeriksa file
/etc/smb.conf
atau/etc/samba/smb.conf
melihat pengaturan apa yang ada. Untuk menampilkan pengaturan tersebut ditambah default, gunakan perintah ini:Untuk mempersempitnya sedikit:
Lihat halaman ini untuk informasi lebih lanjut. Juga, lihat sekitar setengah halaman ini (informasi yang sama seperti tautan sebelumnya).
sumber
Saya menggunakan folder bersama pada OS-X dan Windows. Beberapa file memiliki masalah yang sama, karena termasuk dalam hal berikut: Mereka menggunakan karakter dalam nama file, tidak didukung oleh Windows.
Lihat: http://support.microsoft.com/kb/177506
Ini daftar karakter, tidak didukung oleh Windows dalam file atau direktori. Saya kira, bahwa Samba menggunakan daftar karakter yang sama ketika mendaftar file dan direktori.
Sedikit lebih jauh ke bawah, mereka menulis:
Tapi saya, secara pribadi, mengambil daftar karakter yang tidak diizinkan sebagai referensi untuk memberi pengarahan kepada beberapa pelanggan di sini;)
sumber
Saya memiliki laptop Apple Macbook Pro dengan 64-bit OS X 10.11 "El Capitan" yang menjalankan Samba 3 yang saya instal melalui Macports .
Saya juga memiliki laptop Dell Inspiron dengan 64-bit GNU / Linux XUbuntu 16.04 "Xenial Xerus" yang menjalankan Samba 3 yang saya instal melalui APT.
Kedua mesin memiliki folder berbagi jaringan dan menggunakan Samba untuk berkomunikasi pada WLAN saya (LAN nirkabel).
Kedua sistem saya menggunakan bahasa Portugis Brasil. Jadi, saya menggunakan karakter khusus seperti ç , á , ã , â , ô , é , ó et cetera.
Ketika saya menggunakan laptop Linux saya untuk mengakses share OS X Samba saya, semua string ditampilkan dengan benar: kata-kata seperti maçã , ônus , dan bênção ditampilkan dengan benar. File dan folder dengan nama panjang juga ditampilkan, dan namanya ditampilkan dengan benar. Dengan demikian, server Samba yang berjalan pada OS X sudah dikonfigurasi dengan benar ...
... tetapi segalanya tidak berjalan sebaliknya: jika saya menggunakan aplikasi Finder pada OS X untuk mengakses share Linux Samba saya, semua file dan folder yang memiliki setidaknya satu dari karakter khusus itu tidak diperlihatkan (mereka tetap tidak terlihat oleh saya), dan nama-nama panjang file dan folder dikonversi menjadi nama pendek yang aneh. Jadi, ada sesuatu yang salah dengan server Samba berjalan di mesin Linux saya.
=> Dalam kasus saya, yang menyelesaikan masalah ini adalah menambahkan baris berikut ke
[global]
bagian di dalamsmb.conf
file di mesin Linux saya:Setelah itu, saya membuka jendela terminal shell dan memulai kembali server Linux Samba dengan perintah ini:
... yang dapat diganti dengan perintah lain ini (jika perintah di atas tidak berfungsi pada distribusi Linux Anda):
Setelah saya me-restart server Linux Samba, aplikasi Finder pada OS X akhirnya menunjukkan dengan benar semua file dan folder yang sebelumnya disembunyikan karena nama mereka memiliki satu atau lebih karakter khusus. Nama-nama yang hancur ("disingkat") juga "tidak berubah".
Catatan kaki :
smb.conf
file adalah/etc/samba/smb.conf
smb.conf
menyimpan file di lokasi standar/etc/samba/
: ada beberapa cara berbeda untuk mengeditsmb.conf
file. Misalnya, jika Anda tidak menggunakan Lingkungan Desktop (misalnya sistem Anda hanya memiliki terminal shell, tidak ada windows) Anda dapat menginstal editor teks Nano , dengan mengeluarkan perintah sepertisudo apt-get install nano -y
atausudo dnf -b -y install nano
atau sesuatu yang lain (tergantung pada distro Linux yang Anda gunakan menggunakan), dan kemudian jalankansudo nano /etc/samba/smb.conf
. Jika Anda menggunakan Lingkungan Desktop, Anda dapat menginstal editor teks grafis seperti GNOME Edit , dengan mengeluarkan perintah sepertisudo apt-get install gedit -y
atausudo dnf -b -y install gedit
atau sesuatu yang lain (tergantung pada distro Linux yang Anda gunakan), dan kemudian jalankansudo gedit /etc/samba/smb.conf
.display charset
parameternya sudah usang.dos charset
parameter tidak mendukungUTF-8
argumen. Jadi, itu harus menggunakan argumen defaultCP850
.mangled names = no
menginstruksikan server Samba untuk tidak mempersingkat nama file dan folder. Oleh karena itu, karena klien Samba hanya mereplikasi ke pengguna apa yang telah disediakan server Samba kepada klien, setelah server dikonfigurasi dengan benar, klien tidak akan lagi menampilkan nama singkat kepada pengguna.sumber
dari dokumentasi samba Anda dapat menggunakan ini:
sumber