Sambaはコロンを含むファイルを正しく表示しません。
元のファイル名:test:file.txt
Windowsでの表示名:T8S6CH~R.TXT
どうすれば解決できますか?
情報:
Linux:SLES 11 SP 3
サンバ:Version 3.6.3-0.33.39.1-3128-SUSE-CODE11-x86_64
答え1
Sambaオプションの問題は、mangled names
両方の設定が理想的ではないことです。名前は壊れていませんが、違法文字が含まれているため、何らかの方法でアクセスできない場合、または名前がDOS 8.3形式で破損してほとんど読み取れない場合があります。
幸い(現在)VFSモジュールの呼び出しcatia
カスタム文字マッピングを提供します。具体的には、Windowsファイル名に違法と見なされる文字を見つけることができます。
このセクション[global]
に次の行を配置します。
# 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
各[share_name]
セクションに次の行を追加します(すでに行がある場合はリストにvfs objects
追加するだけです)。catia
vfs objects = catia
いつものように、すべての共有に適用するには、[global]
個々の共有定義ではなく共有に基づいてこの設定を指定します。
私のDebianベースのシステムでは、このVFSオブジェクトモジュールは標準パッケージの一部としてインストールされています。
この設定にマップされたファイル名の例はです2017-12-24 12:23.txt
。mangled names = yes
このファイルを使用するとマークされます2BB0Y9~4.TXT
。逆に、vfs objects = catia
このファイル名を使用するとマークされます2017-12-24 12÷23.txt
。完璧ではありませんが、かなり良いです。とりわけ、Windowsアプリケーションからアクセスできます。
答え2
何らかの理由で、Sambaはコロンを含むファイル名を破損し始めました。これまで、インターネットでこの動作に関する情報が見つかりませんでした。
解決策はとても簡単です。mangled names = no
その[global]
セクションを追加し/etc/samba/smb.conf
てSambaを再起動すると、問題が解決しました。
答え3
特殊文字疑問符? \<>* などは Windows ファイル名には使用できないため、常に使用しません。
それでも私は大丈夫です。この文字を使用すると、アップルシステムCatalinaは私のFreeNAS-11.3-U1とSMB / Sambaの設定にアクセスしています。なぜこの設定がデフォルトではないのかはわかりませんが、MacOSで完全に機能するには、次の手順に従う必要があります。
FreeNAS webUIで、共有> SMB>編集に移動します。
- 「詳細モード」を選択し、両方を確認します。カティアそして果物「VFSオブジェクト」から
- 補助パラメータを次に設定します。
fruit:encoding = native
その後、サービスに移動してSMBを再起動します。
答え4
文字とファイル名を混同せずにLinuxでホストされているSambaボリュームをマウントしたいMacユーザーの場合:
私のフラグメント/etc/samba/smb.conf
:
[sharename]
path = /path/to/share
browsable = yes
writable = yes
valid users = nick
create mask = 644
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:encoding = native
上記の設定で最後の3行を追加する必要がありました。