Невозможно смонтировать ресурс cifs в fstab с пробелами в имени ресурса

Невозможно смонтировать ресурс cifs в fstab с пробелами в имени ресурса

Я использую систему Debian Squeeze и пытаюсь смонтировать общий ресурс Windows в /etc/fstab. У меня есть существующее работающее монтирование cifs, но это простая ситуация //xx.xx.xx.xx/sharename. Однако этот второй вариант не работает.

Проблема в том, что во втором ресурсе в пути есть пробелы... несколько!

Строка в fstab выглядит так:

//servername.org.au/ABC/Company Services/Department Services/Area Services/Restricted    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

На данный момент я попробовал:

Двойные кавычки вокруг имен путей в fstab

//servername.org.au/ABC/"Company Services/Department Services/Area Services/Restricted"    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

Заменить пробел на \040 (как в Linux)

//servername.org.au/ABC/Company\040Services/Department\040Services/Area\040Services/Restricted     /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

Экранирование с помощью обратной косой черты

//servername.org.au/ABC/Company\ Services/Department\ Services/Area\ Services/Restricted    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

Ничего из этого не сработало.

Я проверил, что каталог действителен, я попробовал заменить servername.org.au на IP-адрес, в который он преобразуется, но это тоже не помогло.

Ошибка, которую я получаю в kern.log:

ядро: [1830446.002198] CIFS VFS: cifs_mount не удалось с кодом возврата = -22

Вот и все — не нужно вдаваться в подробности...

Я использую ТОЧНО тот же синтаксис и учетные данные для обоих монтирований. Я ЗНАЮ, что учетные данные действительны и работают, потому что я использую их для подключения к той же общей папке на моем компьютере с Windows. Я бы изменил имя общей папки, но, к сожалению, это не один из МОИХ серверов, и они этого не сделают.

Поэтому я просто прикреплю эти два датских пирожка к голове и скажу:

Помоги мне, Оби-Стек-Эксчейндж! Ты моя единственная надежда!

Заранее спасибо!

(Изменение: удалены ошибочные кавычки в одном из примеров)

решение1

На самом деле замена пробелов на \040— это правильный способ сделать это.

Причина, по которой у вас это не работает, вероятно, в том, что после /Restricted:

//servername.org.au/ABC/Company\040Services/…/Restricted"    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

Измените это на:

//servername.org.au/ABC/Company\040Services/…/Restricted    /mnt/n-drive    cifs    id=0,credentials=/etc/samba/login.crt,iocharset=utf8,noperm        0       0

(Обратите внимание, что я немного сократил путь для лучшей читабельности.)


Фон: 040— код ASCII для пробела в восьмеричной системе счисления.

Связанный контент