![linux 自动重命名文件夹](https://linux22.com/image/579223/linux%20%E8%87%AA%E5%8A%A8%E9%87%8D%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我有一个安装了 ubuntu 的文件服务器
它通常通过 smb 从 PC(ubuntu)或笔记本电脑(windows 7)访问
有时,文件服务器上的文件夹名称会更改为一些无意义的名称,例如TOZC0N~L
或TOJNL7~U
硬盘似乎没有问题,我无法想象 samba 会弄乱文件夹名称。
这个问题确实没有规则,我无法重现它,它只是偶尔发生。有什么想法吗?
这是 fstab
#TREKSTORE 1TB
UUID=581C906F1C9049C0 /media/mext_2 ntfs defaults 0 0
#mext_3
UUID=4A466C6654E92192 /media/mext_4 ntfs defaults 0 0
#mext_2
UUID=EAB26EE9B26EB9A9 /media/mext_3 ntfs defaults 0 0
#Here's samba conf for one parititon
[mext_2]
comment = Public Folder
path = /media/mext_2
available = yes
public = yes
valid users = elmasry
read only = no
browsable = yes
writable = yes
其他硬盘也一样
答案1
更新:建议尝试以下修复 - 将这些行添加到 smb.conf;
dos charset = 1255
unix charset = UTF-8
display charset = UTF-8
粘贴此命令的输出;
[root@server-64634 ~]# testparm -s -v | grep "charset"
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Loaded services file OK.
Server role: ROLE_STANDALONE
dos charset = CP850
unix charset = UTF-8
display charset = LOCALE
看起来你可能会看到一些老式的 dos 命名8.3 风格名称转换,甚至国际标准 9660
是否有任何真正老式的应用程序打开和关闭文件,或者可能使用一些奇怪的挂载选项来挂载文件系统,从而生成这些转换后的名称。
粘贴您的 /etc/fstab 和客户端和服务器的 samba 配置,显示您的安装和导出选项。
答案2
真的只是瞎猜而已... 既然您说 Windows 机器正在访问 samba 共享,那么 Windows 机器上是否可能有病毒在干扰事情?
也许在 Windows 机器上运行防病毒软件,然后在 ubuntu 文件服务器上运行 clamav,看看是否出现问题。
再次,这只是一次盲目的尝试。
答案3
我曾在几种情况下看到过这种情况,但仅限于从通过 CIFS 查看文件的 Windows 计算机的角度来看:
- 文件的完整路径名太长,接近或超过 256 个字符
- 文件名包含一些在 FAT 或 NTFS 上无效的字符,例如星号、反斜杠或冒号
在这两种情况下,我发现的唯一解决方案是将文件重命名为适合 Windows 处理的名称