Я пытаюсь смонтировать общий ресурс NetApp CIFS на один из наших серверов, и я продолжаю печатать «Отказано в доступе» на stderr и NT_STATUS_WRONG_PASSWORD
печатать на ходу dmesg
.
root@xxxehpvld05 ~ $ mount.cifs -vv //zhp-nas.xxx.com/perspectives /mnt/secure/cifs -o credentials=/etc/cifs.creds
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
root@xxxehpvld05 ~ $ dmesg | tail
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Команда smbclient
, однако, работает без проблем, используя тот же самый файл учетных данных:
root@xxxehpvld05 ~ $ smbclient -L //zhp-nas.xxx.com/perspectives -A /etc/cifs.creds
Domain=[XXX] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
IPC$ IPC Remote IPC
ZHPSubmit-dev Disk
[...snip...]
Кажется, что если один работает, другой должен также, особенно, поскольку файл учетных данных также определяет имя домена.
cifs-utils
пакет (Debian), и он решил проблему. Я потратил немного времени на отладку, потому что не ожидал никакой поддержки без установленного пакета, поэтому я предположил, что это так. Я ожидал что-то вроде «неизвестной файловой системы» от mount, но этого не произошло.Ответы:
Без дополнительной информации я не могу сказать наверняка, но я видел эту проблему при подключении к более старому серверу Windows, на котором работала более старая версия протокола. Помните, что CIFS считается «диалектом» (типом) SMB. Существуют другие типы, и более старые установки не используют CIFS.
По сути, это как сказать, что говорят два человека. Один испанский и один английский, и вы пытаетесь заставить говорящего по-английски понимать испанский, когда он явно не знает.
SMBclient использует другой диалект для переговоров по безопасности. (или, по крайней мере, обнаруживает по-другому).
Пытаться
и посмотрим, что получится. (sec = ntlm - важная часть)
источник
ntlm
илиntlmv2
. Я не уверен, как устранить неполадки, поэтому, если вам нужна дополнительная информация, дайте мне знать, и я обновлю вопрос. Могут ли быть какие-то элементы управления доступом на стороне NetApp, которые пропустил парень из SAN?Играя с командами, я нашел возможную причину:
Со страницы руководства smbclient:
Со страницы руководства файла mount.cifs:
Затем я создал два файла учетных данных, один с пробелами, как показано в первом фрагменте, а другой без, и назвал их
creds
иcreds.spacy
.Большая битва:
С
creds
файлом:Хорошая тишина, без ошибок.
С
creds.spacy
файлом:Таким образом, очевидно, ваш файл учетных данных содержит пробелы, которые не понимаются mount.cifs.
Кроме того,
smbclient
это не имеет значения, если есть пробелы.creds
иcreds.spacy
не вызвал никакого глухаря.источник
smbclient
но не дляmount.cifs
. После того, как я изменил заказ на правильный, как указано в документации, которую вы цитировали здесь, он начал работать. Похоже, что это (как неправильное обращение с пробелами, так и проблема с упорядочением) являются ужасными ошибками, которые должен быть легко исправлен любым, кто их поддерживаетmount.cifs
.Добавление sec = ntlm исправило проблему для меня. У меня есть старый NAS (Netgear Stora). По умолчанию безопасность для cifs в последних ядрах - ntlmssp
источник
Еще одна возможность, которую я обнаружил при попытке смонтировать общий ресурс, заключается в том, что он
smbmount
поддерживаетusername=DOMAIN\\user
синтаксис для предоставления пользователю домена в качестве учетных данных.Для
mount.cifs
(аmount -t cifs
) на работу, эти два должны быть представлены отдельно:-o username=user,password=pass,dom=DOMAIN
.источник
sec=ntlm
иdom=DOMAIN
Как объяснил пользователь 55518, в вашем файле учетных данных, возможно, есть пробелы, даже если вы их не видите. Если вы отредактировали файл учетных данных в Windows, у вас, вероятно,
\r
в конце строк, и это приводит к ошибке 13.источник
Я хочу поблагодарить всех вас !!! в этом вопросе это мне очень помогает! Также я нашел важную информацию о параметре "sec = ntlm", поэтому я оставляю ссылку, если некоторые из вас интересны, строки ниже:
Microsoft NTLM
Я пытался смонтировать директорию общего доступа с рабочего стола Windows 7, но я не смог добавить параметр "sec = ntlm", и это работает, и некоторые важные детали могут заключаться в том, что я не считаю, что мой рабочий стол Windows 7 был в домен, поэтому я думаю, что это была самая важная деталь, которую я должен рассмотреть. Таким образом, это работает! Спасибо большое всем вам! и хороших флюидов! : D
источник
В моем случае мне нужно было только добавить эту опцию
vers=3.0
(CIFS была версией 1, которая больше не поддерживается начиная с ядра 4.13, поэтому я переключился прямо на SMBv3 на сервере), и все же мне пришлось перезагрузиться, чтобы она заработала, это мое линия монтирования/etc/fstab
сейчас:Мой файл учетных данных:
На самом деле,
domain
это не нужно, но это правильный вариант для использования в соответствии с man-страницей mount.cifs.источник
Я боролся с этим некоторое время.
Со следующими ошибками:
здесь он помог установить опцию vers = 1.0, затем он сообщил
и оказалось, что это дополнительные символы в моем файле учетных данных
где изначально у меня было:
где это должно быть
источник