การติดตั้ง Windows Share โดยใช้ SMB 2.1 หรือสูงกว่า


12

ฉันกำลังพยายามเมาท์ Windows ที่โฮสต์การแชร์ SMB (CIFS) โดยใช้ Ubuntu 12.04 (โดยใช้เคอร์เนล 3.13.0-117-generic) การติดตั้งด้วย SMB1 ทำงานได้ แต่ไม่เป็นที่ยอมรับเราจะต้องเมานต์ด้วย SMB2.1 หรือสูงกว่าแทน

ด้านล่างคือผลลัพธ์จากความพยายามของฉันในการทำเช่นนี้โดยผ่านอาร์กิวเมนต์ 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)

อย่างที่คุณเห็นมีสองอาร์กิวเมนต์ ver ในตัวเลือกการเมานต์เคอร์เนล mount.cifs ตัวเลือกที่ฉันระบุและค่าเริ่มต้น (1) สิ่งนี้จะเกิดขึ้นหากฉันระบุสิ่งอื่นที่ไม่ใช่ 1 หรือ 1.0 สำหรับเวอร์ชั่น

ติดตั้ง cifs-utils เวอร์ชัน 5.1 และ cifs.ko อยู่ในเวอร์ชัน 2.02 จากหน้าสถานะเคอร์เนล SMB3 บนวิกิ 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."

มีใครช่วยฉันในเส้นทางที่ถูกต้องได้ไหม ฉันต้องคิดถึงบางสิ่ง มีวิธีอื่นใดอีกที่จะบังคับให้เชื่อมต่อ SMB2 + นี่คือโพสต์แรกของฉันที่นี่และฉันพยายามทำให้มันสั้นถ้าฉันไม่ได้รับอะไรแจ้งให้ฉันทราบและฉันจะเพิ่มข้อมูลลงในโพสต์ของฉัน

เท่าที่ฉันสามารถบอกได้ว่าสิ่งนี้จะใช้ได้แม้ว่าฉันจะไม่แปลกใจถ้าฉันเข้าใจผิดบางอย่างและ SMB2 + ไม่ได้รับการสนับสนุน

ขอบคุณ

แก้ไข: ฉันเข้าใจว่า 12.04 คือ EOL ฉันจะอัปเดตโพสต์นี้ในวันพรุ่งนี้ด้วยข้อมูลที่เกี่ยวข้องสำหรับ 14.04 ซึ่งมีปัญหาเดียวกัน หากทุกคนสามารถตอบได้อีกครั้ง: 12.04 นั่นจะยังคงได้รับการชื่นชม


1
สิ่งนี้มีความเกี่ยวข้องโดยเฉพาะอย่างยิ่งแทนการใช้ประโยชน์จากเป้าหมายของ Wannacry ransom ware SMB1
Jeff Puckett

หากคุณมีชื่ออุปกรณ์ (เช่น foo) แต่ไม่ใช่ ipaddr: nmblookup foo
phreed

คำตอบ:


8

ถ้าฉันใช้ ver มันพิมพ์ "อาร์กิวเมนต์ไม่ถูกต้อง" แต่ man mount.cifs บอกว่าชื่อตัวเลือกคือ "vers" ไม่ใช่ "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....

มันเหมาะกับฉันในมิ้นท์ 18.1:

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

1

ฉันพบตัวเลือกที่มีอยู่ในหน้าคนท้องถิ่นของฉัน ตรวจสอบสิ่งนี้บนเครื่องของคุณเองเพื่อดูว่ารองรับอะไรบ้าง เมื่ออยู่ใน man page ให้พิมพ์/vers=เพื่อค้นหาอาร์กิวเมนต์นั้นอย่างรวดเร็ว

man mount.cifs

จากนั้นฉันได้แชร์ส่วนแบ่งของฉันดังนี้:

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

ต้องใช้ไฟล์ข้อมูลรับรองที่มีเนื้อหาต่อไปนี้ที่ /home/mike/.ssh/.smb_nas ดังนั้นฉันไม่จำเป็นต้องป้อนรหัสผ่านของฉันในคำสั่ง (ทำให้เก็บไว้ในประวัติคำสั่งของคุณเป็นข้อความธรรมดา) หรือที่ พรอมต์ (ความรำคาญ)

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

ฉันกำลังติดตั้งจาก Synology NAS ที่สนับสนุน SMB เวอร์ชัน 3.11 คุณจะต้องตรวจสอบWindows (หรือไฟล์โฮสติ้งของคุณผ่าน CIFS / SMB) เพื่อดูว่ารองรับไฟล์อะไรบนฝั่งเซิร์ฟเวอร์


1

ถ้าคอมพิวเตอร์ใช้ร่วมกันไม่ได้อยู่ IP นั้นคุณอาจได้รับข้อผิดพลาดเดียวกันนี้ การเปลี่ยนแปลงใน DHCP "ย้าย" NAS ของเราและนั่นคือรากของปัญหาของฉัน เมื่อแบ่งปันได้กลับบน IP ที่เหมาะสมข้อผิดพลาดหยุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.