Я использую систему 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 для пробела в восьмеричной системе счисления.