После некоторого обсуждения было установлено, что диск Samba был подключен к порту USB на маршрутизаторе.
Первое, что нужно проверить, это то, что параметры маршрутизатора, относящиеся к совместному использованию USB-накопителя, установлены правильно. Каждый маршрутизатор будет иметь свой собственный диалог для этого.
Я получил ошибки в Ubuntu Mate 16.04.3 при выполнении команды smbclient
в вопросе, поэтому я никогда не видел распечатки с %NN
вместо (
и )
, так как прошивка моего маршрутизатора перечисляла диск.
Вместо этого я добавил строку в /etc/fstab
, аналогичную той, которая используется для других моих общих сетевых ресурсов:
//192.168.0.1/volume(sda1) /media/HDD cifs uid=1000,gid=1000,file_mode=0777,dir_mode=0777,username=root,password=,rw,nounix,nocase 0 0
В этом случае 1000
является идентификатором пользователя и группы для моей личной учетной записи, поэтому запись будет монтировать мне диск с полным доступом для чтения, записи и выполнения (...mode=0777
); root
без пароля - это учетная запись, которую мой маршрутизатор использует для входа на USB-диск, а nounix,nocase
необходим для диска Windows.
Теперь я могу монтировать и демонтировать диск просто с помощью:
sudo mount /media/HDD
sudo umount /media/HDD
Эти параметры могут быть добавлены в разных форматах с опцией -o
в mount, но я больше привык к формату fstab
, и это значительно облегчает монтаж и демонтаж. Обратите внимание, что если при загрузке выполняется mount -a
, во время перезагрузки будут регистрироваться ошибки, если диск не подключен к маршрутизатору, но это не должно останавливать сам процесс загрузки.
Самая большая ошибка в вопросе заключалась в том, что команда mount
включала -o
без последующей строки параметра, поэтому сетевой адрес интерпретировался как строка параметра, что делало бессмысленной команду; но еще одна проблема заключается в том, что mount
не обрабатывает расширения %NN
скобок, поэтому необходимы правильные символы скобок, что означает использование сетевого адреса в кавычках, чтобы оболочка не интерпретировала скобки (или не экранировала их по отдельности):
sudo mount ... '//192.168.0.1/volume(sda1)' ...
sudo mount ... //192.168.0.1/volume\(sda1\) ...
При монтировании таким образом, я могу видеть диск в df
и mount
, и могу получить к нему доступ через bash
через /media/HDD/*
, а также имею полный доступ через файловый менеджер (caja
в моей системе), хотя монтирую и демонтирую отсюда нельзя сделать (как с другими моими сетевыми дисками).
По какой-то причине я не могу найти пользователя и пароль для доступа по FTP, хотя мой маршрутизатор настроен на его включение. Мне это не нужно, поэтому я не буду этим заниматься, так как любое решение будет специфичным для моего роутера.
Я уверен, что можно сделать то же самое с опциями mount
вместо записи fstab
(что позволяет избежать проблемы mount -a
), но опции запутанно отличаются, и я застрял с использованием fstab
, поэтому я не собираюсь отлаживать эта команда для того, чтобы предложить это.