Опитвам се да монтирам споделяне на 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 (netgear stora). Защитата по подразбиране за cifs на последните ядра е ntlmssp

Друга възможност, която разбрах, когато се опитвах да монтирам споделен smbmount днес, е, че smbmount поддържа потребителско име = DOMAIN \\ потребителски синтаксис на 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 сега: