
У меня есть сервер NAS, работающий под управлением OMV 5, который я использую для хранения личных данных (документов, фотографий, видео и т. д.). Я использую Samba для общего доступа к данным с NAS и запускаю Fedora 33 на клиенте, который я использую для доступа к общим данным.
Проблема в том, что папки, названные aux
на NAS, отображаются так же, как AHY9U3~9
на клиенте Fedora, см. пример ниже.
Рабочий каталог на левой панели 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
Я нашел несколько связанных постов (см. ниже), однако, я полагаю, что aux
это допустимое имя файла согласно правилам Samba, не так ли?
- samba как отобразить файлы с двоеточием в имени?
- Если не искажать имена, музыка не будет воспроизводиться на Windows 10 Samba
EDIT: Ниже приведен глобальный раздел и соответствующий раздел общего доступа из 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 =
EDIT2: Я бы не подумал, aux
что это зарезервированное слово, но да, это так, видите лиhttps://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file. Спасибо @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»)