Sambaは名前にコロンを含むファイルをどのように表示しますか?

Sambaは名前にコロンを含むファイルをどのように表示しますか?

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.txtmangled 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>編集に移動します。

  1. 「詳細モード」を選択し、両方を確認します。カティアそして果物「VFSオブジェクト」から
  2. 補助パラメータを次に設定します。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行を追加する必要がありました。

関連情報