Mounting Windows Share menggunakan SMB 2.1 atau lebih tinggi

12

Saya mencoba me-mount share Windows SMB (CIFS) yang di-host menggunakan Ubuntu 12.04 (menggunakan kernel 3.13.0-117-generik). Mounting dengan SMB1 berfungsi, tetapi itu tidak dapat diterima, kita harus mount dengan SMB2.1 atau lebih tinggi.

Di bawah ini adalah hasil dari upaya saya untuk melakukan ini dengan melewati argumen ver =

root@----:/# mount -t cifs //SERVER/smbtest /mnt/smbtest --verbose -o ver=2.1,user=administrator
Password:
mount.cifs kernel mount options: 
ip=10.16.0.40,unc=\\server.domain.net\smbtest,ver=2.1,ver=1,user=administrator,pass=********
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Seperti yang Anda lihat, ada dua argumen di opsi mount kernel mount.cifs, yang saya tentukan, dan default (1). Ini terjadi jika saya menentukan selain 1 atau 1.0 untuk ver.

cifs-utils versi 5.1 diinstal, dan cifs.ko pada versi 2.02. Dari halaman status kernel SMB3 pada wiki Samba, https://wiki.samba.org/index.php/SMB3_kernel_status ,

"The minimum version for use of the Linux kernel SMB3 support is kernel version 3.12 (or backport of cifs.ko module version 2.02 or later) but kernel version 3.18 or later (or equivalent, ie cifs module version 2.04 or later) is recommended for best SMB3 support."

Adakah yang bisa membantu saya di jalur yang benar di sini? Saya pasti melewatkan sesuatu. Metode apa yang tersedia untuk memaksa koneksi SMB2 +? Ini adalah posting pertama saya di sini, dan saya mencoba untuk membuatnya singkat, jika saya melewatkan sesuatu beri tahu saya dan saya akan menambahkan info ke posting saya.

Sejauh yang saya tahu ini harus bekerja, meskipun saya tidak akan terkejut jika saya telah salah paham tentang sesuatu dan SMB2 + tidak didukung.

Terima kasih

EDIT: Saya mengerti 12,04 adalah EOL. Saya akan memperbarui posting ini besok dengan info yang relevan untuk 14,04, yang memiliki masalah yang sama. Jika ada yang bisa menjawab: 12,04, itu masih akan dihargai.

Oliver Vollmer
sumber
1
Ini sangat relevan sebagai pengganti target eksploitasi barang tebusan wannacry SMB1
Jeff Puckett
Jika Anda memiliki nama perangkat (mis. Foo) tetapi bukan ipaddrnya: nmblookup foo
phreed

Jawaban:

8

Jika saya menggunakan ver, itu benar-benar mengetik "Argumen tidak valid" tetapi man mount.cifs mengatakan bahwa nama opsi adalah "vers", bukan "ver".

       vers=
       SMB protocol version. Allowed values are:

       ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

       ·   2.0 - The SMBv2.002 protocol. This was initially introduced in
           Windows Vista Service Pack 1, and Windows Server 2008. Note
           that the initial release version of Windows Vista spoke a
           slightly different dialect (2.000) that is not supported....

itu bekerja untuk saya di Mint 18.1:

mount -t cifs //192.168.1.1/public /home/user/Desktop/share --verbose -o vers=2.1,user=winuser
buntu
sumber
1

Saya menemukan opsi yang tersedia di halaman manual lokal saya. Periksa ini di mesin Anda sendiri untuk melihat apa yang didukungnya. Setelah di halaman manual, ketik /vers=untuk menemukan argumen itu dengan cepat.

man mount.cifs

Saya kemudian memasang bagian saya sebagai berikut:

sudo mount -t cifs //nas/homes/mike /media/mike/nashome -o vers=3.11,credentials=/home/mike/.ssh/.smb_nas

Ini membutuhkan file kredensial dengan konten berikut di /home/mike/.ssh/.smb_nas jadi saya tidak perlu memasukkan kata sandi saya dalam perintah (menyebabkannya disimpan dalam riwayat perintah Anda dalam teks biasa) atau di prompt (gangguan).

username=mike
password=[REAL PASSWORD]
domain=WORKGROUP

Saya menginstal dari NAS Synology yang mendukung SMB versi 3.11. Anda harus memeriksa versi Windows (atau file hosting apa pun melalui CIFS / SMB) untuk melihat apa yang didukungnya di sisi server.

mungkin
sumber
1

Anehnya, jika komputer berbagi tidak pada alamat IP itu, Anda mungkin mendapatkan kesalahan yang sama. Perubahan pada DHCP "menggerakkan" NAS kami dan itu adalah akar masalah saya. Setelah bagian itu kembali pada IP yang tepat, kesalahan berhenti.

Chris K
sumber