Próbuję zamontować udział NetApp CIFS na jednym z naszych serwerów i ciągle otrzymuję komunikat „Odmowa zezwolenia” na stderr i NT_STATUS_WRONG_PASSWORD
drukowany na bieżąco 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
Polecenia, jednak działa bez problemu, przy użyciu tego samego pliku dokładne mandatów:
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...]
Wygląda na to, że jedno z nich powinno działać również drugie, zwłaszcza że plik poświadczeń określa również nazwę domeny.
cifs-utils
pakiet (Debian) i to rozwiązało problem. Trochę debugowałem, ponieważ nie spodziewałem się żadnego wsparcia bez zainstalowanego pakietu, więc założyłem, że tak. Spodziewałem się czegoś takiego jak „nieznany system plików” po zamontowaniu, ale tak się nie stało.Odpowiedzi:
Bez dodatkowych informacji nie mogę powiedzieć na pewno, ale widziałem ten problem podczas łączenia się ze starszym serwerem Windows, na którym działała starsza wersja protokołu. Pamiętaj, że CIFS jest uważany za „dialekt” (typ) SMB. Istnieją inne typy i starsze konfiguracje nie używają CIFS.
Zasadniczo to tak, jakby mówić dwie osoby. Jeden hiszpański i jeden angielski, a ty próbujesz zmusić osobę mówiącą po angielsku do zrozumienia hiszpańskiego, kiedy wyraźnie tego nie robi.
SMBclient używa innego dielektryka do negocjacji bezpieczeństwa. (lub przynajmniej wykrywa inaczej).
Próbować
i zobacz co się stanie. (sec = ntlm jest ważną częścią)
źródło
ntlm
lubntlmv2
. Nie jestem pewien, jak go rozwiązać, więc jeśli potrzebujesz więcej informacji, daj mi znać, a ja zaktualizuję pytanie. Czy mogą istnieć jakieś mechanizmy kontroli dostępu po stronie NetApp, które przegapił facet SAN?Bawiąc się poleceniami, znalazłem możliwy powód:
Ze strony podręcznika użytkownika smbclient:
Ze strony manuala mount.cifs:
Następnie utworzyłem dwa pliki referencji, jeden ze spacjami, jak pokazano w pierwszym fragmencie, a drugi bez i nazwał je
creds
orazcreds.spacy
.Wielkie showdown:
Z
creds
plikiem:dobra cisza, bez błędów.
Z
creds.spacy
plikiem:Oczywiście plik poświadczeń zawiera spacje, które nie są rozumiane przez mount.cifs.
Ponadto
smbclient
nie ma znaczenia, czy są spacje.creds
icreds.spacy
nie spowodował żadnego cietrzewia.źródło
smbclient
ale nie działamount.cifs
. Gdy zmieniłem kolejność na prawidłową, zgodnie z cytowaną tutaj dokumentacją, zaczęła działać. Wydaje się, że takie (zarówno niewłaściwe obchodzenie się ze spacjami, jak i kwestia zamawiania) są strasznymi błędami, które powinien łatwo naprawić każdy, kto je utrzymujemount.cifs
.Dodanie sec = ntlm rozwiązało problem. Mam starszy NAS (netgear stora). Domyślnym zabezpieczeniem cifs w najnowszych jądrach jest ntlmssp
źródło
Inną możliwością, którą odkryłem, próbując dzisiaj zamontować udział, jest
smbmount
obsługausername=DOMAIN\\user
składni dostarczania użytkownika w domenie jako poświadczenia.Do
mount.cifs
(imount -t cifs
) do pracy, te dwa muszą być dostarczane oddzielnie:-o username=user,password=pass,dom=DOMAIN
.źródło
sec=ntlm
idom=DOMAIN
Jak wyjaśnił user55518, prawdopodobnie w pliku danych logowania znajdują się spacje, nawet jeśli ich nie widzisz. Jeśli edytowałeś plik poświadczeń w systemie Windows, prawdopodobnie masz go
\r
na końcu linii, co powoduje błąd 13.źródło
Chcę wam wszystkim podziękować !!! w przypadku tego problemu, to naprawdę bardzo mi pomaga !, znalazłem też ważne informacje o parametrze „sec = ntlm”, więc zostawiam link, jeśli niektórzy z was są zainteresowani, wiersze poniżej:
Microsoft NTLM
Próbowałem zamontować katalog udostępniania z pulpitu Windows 7, ale nie byłem w stanie dodać parametru „sec = ntlm” i działa, a niektóre ważne szczegóły mogą być takie, że nie uważałem, że mój pulpit Windows 7 był domenę, więc uważam, że był to najważniejszy szczegół, który powinienem rozważyć. dlatego to działa !, naprawdę dziękuję bardzo wszystkim! błogosławieństwa !! i dobre wibracje! :RE
źródło
W moim przypadku musiałem tylko dodać opcję
vers=3.0
(CIFS to wersja 1, która nie jest już obsługiwana od jądra 4.13, więc przełączyłem się w prawo do SMBv3 na serwerze) i nadal musiałem zrestartować komputer, aby działał, to jest mój zamontuj linię/etc/fstab
teraz:Mój plik poświadczeń:
Właściwie
domain
to nie jest potrzebne, ale teraz jest to poprawna opcja do użycia zgodnie ze stroną podręcznika mount.cifs.źródło
Walczyłem z tym przez jakiś czas.
Z następującymi błędami:
tutaj pomógł ustawić opcję vers = 1.0, a następnie zgłosił
i okazało się, że w moim pliku referencji są dodatkowe „znaki”
gdzie pierwotnie miałem:
gdzie powinno być
źródło