Вопрос или проблема
Я использую raspbian на RPi2B и пытаюсь подключить сетевой диск. Я пробовал следующее:
sudo mount -t cifs -o username=admin,password=passwd //192.168.1.1/root /mnt/myshare
Но я постоянно получаю ошибку отказа в доступе.
Я могу получить доступ к этой общей папке на своем macbook pro с теми же данными, так что я не понимаю, в чем дело.
У меня есть дефисы (-) в пароле, поэтому я пробовал заключать его в кавычки, экранировать дефисы и т. д., но ничего не помогло.
Буду признателен за любую помощь!
Ну, после мучительного дня попыток разобраться, оказалось, что необходимо было изменить настройки безопасности.
Посмотрите этот ответ https://askubuntu.com/questions/427044/mounting-cifs-drive-gives-mount-error22-invalid-argument
Вкратце, попробуйте изменить параметры безопасности с помощью -o sec=ntlm
или -o sec=ntlmssp
.
Попробуйте:
sudo su -
mount -t smbfs -o username=admin,password=passwd //192.168.1.1/root /mnt/myshare
^^^^
Вы уверены, что установили все разрешения на root?
Вы по сути пытаетесь выполнить ssh (cifs — это операция, сравнимая с ssh) в директорию ‘root’, где у вас должны быть правильные разрешения для пользователя ‘admin’. Если у ‘root’ не установлены по крайней мере права на чтение для пользователя ‘admin’, то пользователь ‘admin’ не сможет выполнить ssh в директорию ‘root’, даже если данные в команде ssh корректны.
Просто попробуйте:
sudo mount -t cifs //ipaddress/sharedfolername /mountlocation --verbose -o credentials=/credentials/file/location
Но создайте файл по пути расположения файла учетных данных со следующим содержанием:
username=yourusername
password=yourpassword
.
Ответ или решение
Проблема: Ошибка "Permission Denied" при монтировании сетевого диска на Raspbian
Теория
Осуществление монтирования сетевых ресурсов с использованием протокола CIFS (Common Internet File System) требует достаточных прав доступа, корректной конфигурации сетевых настроек, а также совместимости используемых версий протокола. Ошибка "Permission Denied" чаще всего указывает на то, что пользователь, под которым осуществляется монтирование, не имеет доступа к указанному ресурсу или CIFS-сервер отвергает соединение из-за неверных параметров.
Основные шаги при диагностике и решении проблемы
-
Проверка прав доступа: Убедитесь, что пользователь "admin" имеет достаточные права для доступа к папке "root". Это подразумевает проверку настроек CIFS-сервера, где должны быть явно прописаны права для пользователя.
-
Кодировка и структура пароля: Если в пароле присутствуют специальные символы (например, тире), это может вызывать проблемы. Попробуйте использовать файл с учетными данными, чтобы избежать ошибок, связанных с интерпретацией командной строки. В файле должны быть такие строки:
username=admin password=passwd
-
Использование опций безопасности: Ваша ссылка упоминает возможность изменения типов безопасности, таких как
sec=ntlm
илиsec=ntlmssp
. Эти опции могут быть необходимы в зависимости от конфигурации вашего CIFS-сервера и его требуемых методов аутентификации:sudo mount -t cifs -o username=admin,password=passwd,sec=ntlm //192.168.1.1/root /mnt/myshare
Пример конкретного применения
Ваша текущая команда:
sudo mount -t cifs -o username=admin,password=passwd //192.168.1.1/root /mnt/myshare
Преобразование команды с учетом вышесказанного:
sudo mount -t cifs //192.168.1.1/root /mnt/myshare --verbose -o credentials=/etc/cifs-credentials,sec=ntlmssp
Создайте файл с учетными данными /etc/cifs-credentials
и добавьте следующую информацию:
username=admin
password=passwd
Проверка сетевого соединения
Если доступен другой клиент (например, ваш MacBook), подтвердите, что соединение доступно и из этой системы, чтобы исключить сетевые проблемы. Проверьте настройки маршрутизатора и фаерволлов на возможность блокировки.
Применение: Как это может быть реализовано
Теперь, когда вы понимаете возможные источники проблемы и методы ее устранения, примените эти методы к вашей ситуации:
-
Создание безопасного файла с учетными данными: Помогает избежать ошибок при передаче паролей в командной строке и упрощает администрирование.
-
Настройка прав доступа на сервере: Обратитесь к администратору CIFS-сервера или проверьте документацию о том, какие права необходимы для пользователя, старайтесь обеспечить минимальные, но достаточные права.
-
Диагностика сети и проверка конфигурации: Используйте команды
ping
,traceroute
, иnetstat
для диагностики сетевого подключения и проверки, что ваша система видит сервер, к которому вы пытаетесь подключиться. -
Регистрация ошибок и журналирование активности монтирования: Используйте флаг
--verbose
или посмотрите логи в системных файлах (/var/log/syslog
или/var/log/messages
), чтобы получить более детальную информацию об ошибках в процессе соединения.
Внедряя различные методы и подходы при диагностике и устранении проблем с монтированием CIFS-диска, вы сможете эффективно решить большинство проблем, связанных с правами доступа и аутентификацией в сетевой среде.