Saya mencoba untuk me-mount berbagi NetApp CIFS ke salah satu server kami dan saya terus mendapatkan "Izin ditolak" dicetak ke stderr dan NT_STATUS_WRONG_PASSWORD
dicetak untuk menjalankan 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
The smbclient
perintah, namun bekerja tanpa masalah, menggunakan yang sama file kredensial yang tepat:
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...]
Sepertinya jika salah satu bekerja yang lain juga harus terutama karena file kredensial juga menentukan nama domain.
cifs-utils
paket (Debian) dan menyelesaikan masalah. Saya menghabiskan sedikit debug ini karena saya tidak mengharapkan dukungan apa pun tanpa paket yang telah diinstal, jadi saya berasumsi itu. Saya mengharapkan sesuatu seperti "filesystem tidak dikenal" dari mount, tetapi itu tidak terjadi.Jawaban:
Dengan info lebih lanjut saya tidak bisa mengatakan dengan pasti tetapi saya telah melihat masalah ini ketika menghubungkan ke server windows yang lebih lama yang menjalankan versi protokol yang lebih lama. Ingat CIFS dianggap sebagai "Dialek" (jenis) dari SMB. Ada jenis lain dan pengaturan lama tidak menggunakan CIFS.
Pada dasarnya ini seperti mengatakan dua orang sedang berbicara. Satu bahasa Spanyol dan satu bahasa Inggris, dan Anda mencoba memaksa penutur bahasa Inggris untuk memahami bahasa Spanyol padahal jelas tidak.
SMBclient menggunakan diel berbeda untuk negosiasi keamanan. (atau setidaknya mendeteksi secara berbeda).
Mencoba
dan lihat apa yang terjadi. (sec = ntlm adalah bagian penting)
sumber
ntlm
atauntlmv2
. Saya tidak yakin bagaimana cara memecahkan masalah itu jadi jika Anda memerlukan informasi lebih lanjut beri tahu saya dan saya akan memperbarui pertanyaan. Mungkinkah ada beberapa kontrol akses di sisi NetApp yang dilewatkan oleh orang SAN?Bermain-main dengan perintah, saya menemukan kemungkinan alasan:
Dari halaman manual smbclient:
Dari halaman manual mount.cifs:
Lalu saya membuat dua file kredensial, satu dengan spasi, seperti yang ditunjukkan pada cuplikan pertama dan satu tanpa dan menamai mereka
creds
dancreds.spacy
.Pertikaian besar:
Dengan
creds
file:diam bagus, tidak ada kesalahan.
Dengan
creds.spacy
file:Jadi jelas file kredensial Anda berisi spasi, yang tidak dipahami oleh mount.cifs.
Selain
smbclient
itu tidak masalah jika ada ruang.creds
dancreds.spacy
tidak menyebabkan belibis.sumber
smbclient
tetapi gagal untukmount.cifs
. Setelah saya mengubah urutan ke yang benar seperti yang ditentukan dalam dokumentasi yang Anda kutip di sini, itu mulai bekerja. Sepertinya ini (keduanya salah penanganan ruang dan masalah pemesanan) adalah bug mengerikan yang harus dengan mudah diperbaiki oleh siapa pun yang memeliharamount.cifs
.Menambahkan sec = ntlm memperbaiki masalah untuk saya. Saya memiliki NAS yang lebih lama (netgear stora). Keamanan default untuk cif di kernel baru-baru ini adalah ntlmssp
sumber
Kemungkinan lain yang saya temukan saat mencoba me-mount share hari ini adalah yang
smbmount
mendukungusername=DOMAIN\\user
sintaksis untuk memasok pengguna dalam domain sebagai kredensial.Untuk
mount.cifs
(danmount -t cifs
) bekerja, kedua harus disediakan secara terpisah:-o username=user,password=pass,dom=DOMAIN
.sumber
sec=ntlm
dandom=DOMAIN
Seperti yang dijelaskan oleh user55518, Anda mungkin memiliki spasi di file kredensial Anda meskipun Anda tidak melihatnya. Jika Anda mengedit file kredensial Anda di Windows, Anda mungkin memiliki
\r
di akhir baris Anda dan itu melempar kesalahan 13.sumber
Saya ingin mengucapkan terima kasih semuanya !!! untuk masalah ini, ini benar-benar banyak membantu saya !, juga saya menemukan beberapa informasi penting tentang parameter "sec = ntlm", jadi saya meninggalkan tautan jika beberapa dari Anda tertarik tentang hal itu, baris di bawah ini:
Microsoft NTLM
Saya mencoba untuk me-mount direktori share dari windows 7 desktop, tetapi saya tidak mungkin untuk menambahkan parameter "sec = ntlm" dan itu berfungsi, dan beberapa detail penting bisa jadi saya tidak mempertimbangkan bahwa desktop windows 7 saya menjadi domain, jadi saya pikir itu adalah detail paling penting yang harus saya pertimbangkan. oleh karena itu, Ini berhasil !, sangat berterima kasih banyak untukmu semua!, berkah !! dan getaran yang bagus! : D
sumber
Dalam kasus saya, saya hanya perlu menambahkan opsi
vers=3.0
(CIFS adalah versi 1, yang tidak lagi didukung sejak kernel 4.13, jadi saya beralih ke SMBv3 di server) dan saya masih harus reboot untuk membuatnya berfungsi, ini adalah saya pasang garis/etc/fstab
sekarang:File kredensial saya:
Sebenarnya,
domain
tidak diperlukan, tetapi ini adalah pilihan yang tepat untuk digunakan sesuai dengan halaman manual mount.cifs sekarang.sumber
Saya telah berjuang dengan ini untuk sementara waktu.
Dengan kesalahan berikut:
di sini itu membantu untuk mengatur opsi vers = 1.0, kemudian dilaporkan
dan ternyata "karakter tambahan dalam file kredensial saya
tempat asal saya:
di mana seharusnya
sumber