Я намагаюся змонтувати спільний доступ NetApp CIFS на одному з наших серверів, і я продовжую отримувати надруковані "Дозвіл відмовлено" на stderr та NT_STATUS_WRONG_PASSWORD на запущеному dmesg.
Однак команда smbclient працює без проблем, використовуючи точно такі ж файли облікових даних:
Здається, якщо один працює, то інший повинен, тим більше, що файл облікових даних також визначає доменне ім'я.
Без подальшої інформації я не можу бути впевненим, але я бачив цю проблему при підключенні до старішого сервера Windows, на якому працювала старіша версія протоколу. Пам'ятайте, що CIFS вважається "діалектом" (типом) SMB. Існують інші типи, і вищевказані конфігурації не використовують CIFS.
В основному це все одно, що сказати, що двоє людей розмовляють. Іспанська та англійська, і вони намагаються змусити англомовного розуміти іспанську, коли вони явно не розуміють.
SMBclient використовує іншу дієту для переговорів щодо безпеки. (або принаймні виявити по-іншому).
mount -t cifs // path/thing// mount/point -o ім'я користувача = користувач, пароль = pass, sec = ntlm
і подивіться, що станеться. (sec = ntlm - важлива частина)
Граючи з командами, я знайшов можливу причину:
Зі сторінки користувача smbclient:
Зі сторінки користувача mount.cifs:
Потім я створив два файли облікових даних, один із пробілами, як показано у першому фрагменті, а другий без, а також облікові дані та облікові дані. .
Великі розборки
З файлом облікових даних:
хороша тиша, без помилок.
З файлом cnetworkings.spacy:
Очевидно, що ваш файл облікових даних містить пробіли, які mount.cifs не розуміє.
Також для smbclient не має значення, чи є пробіли. cnetworkings та cnetworkings.spacy не викликали жодного рябчика.
Додавання sec = ntlm вирішило проблему для мене. У мене є старіший NAS (мережевий накопичувач). Захистом за замовчуванням для cifs на останніх ядрах є ntlmssp
Ще однією можливістю, яку я дізнався при спробі змонтувати спільний smbmount сьогодні, є те, що smbmount підтримує синтаксис користувача = DOMAIN \\ user синтаксис username = DOMAIN \\ користувач, щоб надати користувача в домені як облікові дані.
Щоб mount.cifs (і mount -t cifs) працювали, ці два слід надавати окремо: -o ім'я користувача = користувач, пароль = пропуск, dom = DOMAIN .
Я хочу подякувати усім вам. для цієї теми це мені дуже допомогло!, я також знайшов важливу інформацію про параметр "sec = ntlm", тому залишаю посилання, якщо хтось із вас цікавий, рядки нижче:
Я намагався змонтувати спільний каталог з робочого столу Windows 7, але це було неможливо, поки не було додано параметр "sec = ntlm", і він працює, і деякі важливі деталі можуть полягати в тому, що я не вважав свій робочий стіл Windows 7 доменним тому я думаю, що це була найважливіша деталь, яку мені слід було б розглянути. так це працює!, справді дякую тобі велике благословення ! і гарних вібрацій!: RE
Як пояснив user55518, у вашому обліковому файлі, ймовірно, є пробіли, навіть якщо ви їх не бачите. Якщо ви редагували файл облікових даних у Windows, у вас, ймовірно, є \ r в кінці рядків, і це видає помилку 13.
У моєму випадку мені просто потрібно було додати опцію vers = 3.0 (CIFS була версії 1, яка більше не підтримується з ядра 4.13, тому я перейшов безпосередньо на SMBv3 на сервері), і мені все одно довелося перезавантажитися, щоб він запрацював, це моя монтажна лінія в/etc/fstab зараз: