В моей локальной сети есть Synology NAS с зашифрованными общими папками. Они смонтированы на моем компьютере Debian через CIFS (NFS доступен только для незашифрованных общих папок).
//<NAS_IP_ADDRESS>/<SHARED_FOLDER> /mnt/<MOUNT_FOLDER> cifs _netdev,credentials=<PATH_TO_CREDENTIALS>,iocharset=utf8,mapchars,uid=<UID>,gid=<GID>,setuids 0 0
Когда я пытаюсь манипулировать ( rm
, stat
, mv
…) файлом, содержащим специальный символ (чаще всего двоеточие), я получаю сообщение об ошибке
rm: cannot remove '<FILENAME>': No such file or directory
Что я могу сделать, чтобы решить эту проблему? Возможно, изменить параметр монтирования или какую-то опцию в конфигурации samba?
Заранее спасибо!
решение1
Только что была та же проблема. Файл отображается в списке каталогов, но не может быть открыт/удален. Никакие трюки с поиском или инодами не помогли.
Затем я использовал smbclient
вместо cifs mount, имя файла отображается как в формате DOS 8.3, но команда delete все еще не может его найти. Но использование del *
в этом каталоге (это был единственный оставшийся файл) успешно удалило файл.
Список монтирования cifs:
ls: 'VK? NEWS - 2009.pdf.2018-12-03T01:24:59+01:00.snapshot.gz': No such file or directory
total 897
-rwxrwxrwx 1 root root 891372 Nov 13 2012 VK? NEWS - 2009.pdf.2018-12-03T01:24:59+01:00.snapshot.gz
Листинг/удаление через smbclient:
smb: \main\rdiff-backup-data\increments\userfiles\> dir
. D 0 Wed Oct 16 00:01:34 2019
.. D 0 Tue Oct 15 23:06:52 2019
V9AGMV~L.GZ A 891372 Tue Nov 13 11:35:24 2012
104857600 blocks of size 1024. 30534775 blocks available
smb: \main\rdiff-backup-data\increments\userfiles\> del V9AGMV~L.GZ
NT_STATUS_NO_SUCH_FILE listing \main\rdiff-backup-data\increments\userfiles\V9AGMV~L.GZ
smb: \main\rdiff-backup-data\increments\userfiles\> del *
smb: \main\rdiff-backup-data\increments\userfiles\> dir
. D 0 Wed Oct 16 00:05:42 2019
.. D 0 Tue Oct 15 23:06:52 2019
104857600 blocks of size 1024. 30534775 blocks available