Linux マシンで Samba 共有フォルダ名が誤って表示される

Linux マシンで Samba 共有フォルダ名が誤って表示される

私は、個人データ (文書、写真、ビデオなど) を保存するために OMV 5 を実行する NAS サーバーを持っています。NAS からデータを共有するために Samba を使用し、共有データにアクセスするために使用するクライアントで Fedora 33 を実行しています。

私が抱えている問題は、auxNAS上で名前が付けられたフォルダがAHY9U3~9Fedoraクライアント上では次のように表示されることです。以下の例を参照してください。 ここに画像の説明を入力してください 左の tmux パネルの作業ディレクトリはクライアント上にありますが、右のパネルの作業ディレクトリは NAS 上にあります。奇妙な名前または NAS 上のフォルダーの正しい名前を使用して、クライアント上のフォルダーにアクセスできるのは奇妙だと思います。

クライアントで実行されているソフトウェアを使用して、クライアントと NAS 間でデータを同期しようとしたときに、この「エラー」に遭遇しました。フォルダー階層全体に aux という名前のフォルダーが多数散在しており、同期ソフトウェアはそれらのフォルダーに違いがあるとフラグを付けましたが、問題は実際にはクライアント上でそれらの名前がどのようにマップされているかです。

問題の原因がわかりません。そして最も重要なのは、どのように修正すればよいかです。また、クライアント側で誤ってマッピングされている他のフォルダー名があるかどうかも疑問です。

クライアントとサーバーの両方のソフトウェアバージョン情報は以下をご覧ください。サーバーSambaバージョン: Sambaバージョン4.9.5-DebianクライアントSambaバージョン: バージョン4.13.12クライアント情報:

  • カーネルバージョン - 5.14.13-100.fc33.x86_64
  • シナモンバージョン - 4.8.6

関連する投稿をいくつか見つけました。以下を参照してください。ただし、これは Samba のルールに従った有効なファイル名だと思いますがaux、そうではありませんか?

  1. samba で名前にコロンが含まれるファイルを表示するにはどうすればいいですか?
  2. 名前をマングルしないと、Windows 10 Samba で音楽を再生できなくなります

編集: 以下はsmb.confのグローバルセクションとそれぞれの共有セクションです。

[global]
workgroup = WORKGROUP
server string = %h server
dns proxy = no
log level = 0
log file = /var/log/samba/log.%m
max log size = 1000
logging = syslog
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = no
unix password sync = no
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY
guest account = nobody
load printers = no
disable spoolss = yes
printing = bsd
printcap name = /dev/null
unix extensions = yes
wide links = no
create mask = 0777
directory mask = 0777
use sendfile = yes
aio read size = 16384
aio write size = 16384
time server = no
wins support = no
multicast dns register = no
# Special configuration for Apple's Time Machine
fruit:aapl = yes
[test]
path = hidden-path/test/
guest ok = no
guest only = no
read only = no
browseable = yes
inherit acls = yes
inherit permissions = no
ea support = no
store dos attributes = no
vfs objects = 
printable = no
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
hide special files = yes
follow symlinks = yes
hide dot files = yes
valid users = 
invalid users = 
read list = 
write list =

aux編集2:予約語だとは思っていませんでしたが、そうです、そうです。https://docs.microsoft.com/en-us/windows/win32/fileio/ファイルの命名指摘してくれた @Ricky に感謝します。今はフォルダの名前を変更するだけです。

答え1

auxは DOS/Windows の予約語です。このファイルにアクセスしようとすると、通常の手段では失敗します。

T:\>dir \\.\t:\aux
10/31/2021  08:50 AM                 0 aux
           1 File(s)              0 bytes

T:\>dir t:\aux
File Not Found

私の samba バージョン (3.0.10) はかなり古いので、名前はまったく変わりません。(短い名前と長い名前は「aux」です)

関連情報