วิธีการติดตั้ง windows / samba windows ร่วมกันภายใต้ Linux?


21

ภายใต้ Linux (Ubuntu 12.04) ฉันต้องการติดตั้งพาร์ติชั่น windows / windows partition //winsharedบนเครือข่าย ฉันไม่รู้จัก IP หรือสิ่งอื่นใด

ในระบบ Ubuntu เดียวฉันสามารถติดตั้งไดเรกทอรีได้

mount  //winshared/mypath /mnt/win

ในขณะที่อยู่ในระบบ Ubuntu อื่น ๆ คำสั่งเดียวกันก็ให้

mount error: could not resolve address for winshared: Unknown error

การตั้งค่าเครือข่ายดูเหมือนจะเหมือนกันทั้งสองระบบและฉันติดตั้งsmbfsและsamba(หลังมีข้อผิดพลาด) ฉันต้องติดตั้งอย่างอื่นหรือไม่? ฉันต้องกำหนดค่าบางอย่างหรือไม่ วิธีการค้นหาความแตกต่างที่สำคัญระหว่างทั้งสองระบบเพื่อให้เมาท์เดียวกันทำงานบนทั้งสองระบบได้อย่างไร

ข้อมูลเพิ่มเติม:

  1. เมื่อฉันใช้smbclientเพื่อเชื่อมต่อกับพาร์ติชัน windows / แชร์ / อะไรก็ตามมันทำงานบนระบบแรก แต่ไม่ได้อยู่ในระบบอื่น ข้อผิดพลาดคือ:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. ต่อไปนี้การกวดวิชานี้ผมติดตั้งsmbfsและcifs-utilsแต่mountคำสั่งจากข้างต้นยังคงให้ข้อผิดพลาดเดียวกันซึ่งไม่ได้อธิบายไว้ในการกวดวิชา

  3. ฉันยังมีรายการใน/etc/fstabการอ่าน

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    ด้วยไฟล์ที่/etc/samba/wincredเหมือนกับไฟล์เดียวกันบนระบบที่เมาต์ทำงาน md5sum ของทั้งสองไฟล์เหมือนกัน ดังนั้นจึงสามารถยกเว้นข้อผิดพลาดเกี่ยวกับข้อมูลรับรองได้


ดูการสอนเกี่ยวกับ Ubuntu Wiki: wiki.ubuntu.com/MountWindowsSharesPermanently
slm

ฉันติดตั้งแพ็กเกจทั้งสอง แต่ยังได้รับข้อผิดพลาดเดียวกัน!
อเล็กซ์

ฉันได้อัปเดตคำถามแล้ว ฉันโพสต์บรรทัดของ fstab และฉันตรวจสอบความถูกต้องของไฟล์ข้อมูลรับรองแล้ว
อเล็กซ์

3
ฉันจะทำให้การทำงานนี้จากบรรทัดคำสั่งที่ 1 วางบรรทัดใน / etc / fstab เพียงทำให้ซับซ้อนมากขึ้นในการดีบักเพื่อเริ่มต้น หากคุณไม่สามารถเมานต์จากบรรทัดคำสั่งได้ก็เป็นอย่างอื่น ฉันใช้สิ่งนี้ทุกวัน:mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt
slm

ไม่การเปลี่ยนการอนุญาตเป็น 600 ไม่สามารถแก้ปัญหาได้
อเล็กซ์

คำตอบ:


15

ไม่ว่าคุณจะมีปัญหาการจำแนกชื่อ (ซึ่งคุณสามารถตรวจสอบได้เช่นการปิงโฮสต์ที่แชร์จากโฮสต์ Ubuntu ของคุณ) หรือโมดูล smbfs ไม่ได้โหลด

คุณอาจจะต้องติดตั้งครั้งแรกกับ smbfs apt-get -y install smbfsแล้วใส่โมดูลด้วยแต่หลังจากนั้นคุณควรจะดีไปด้วยmodprobe smbfsmount -t smbs

mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpointสิ่งที่คุณกำลังมองหาอยู่


smbfsติดตั้งแล้ว แต่modprobe smbfsส่งคืนFATAL: Module smbfs not found.ฉันต้องเริ่มต้นsmbfsก่อนหรือไม่ ถ้าเป็นเช่นนั้นได้อย่างไร วิธีการทำให้มันเริ่มต้นโดยอัตโนมัติหลังจากรีบูต?
อเล็กซ์

@Alex - ไม่มีอะไรจะเริ่ม คุณมักจะขาดพัสดุภัณฑ์
slm

@Alex - ดูอูบุนตูกวดวิชานี้มีทุกสิ่งที่คุณต้องการ: wiki.ubuntu.com/MountWindowsSharesPermanently
slm

ฉันติดตามการกวดวิชานี้ แต่ยังคงได้รับข้อผิดพลาดเดียวกัน!
อเล็กซ์

1
เมื่อวันที่ Ubunut 18.04 ผมข้าม smbfs -t cifsการติดตั้งและใช้เพียง นอกจากนี้คุณสามารถละเว้นอาร์กิวเมนต์รหัสผ่านหากคุณเรียกใช้แบบโต้ตอบเนื่องจากการเมาท์จะถามรหัสผ่านของคุณ
MrMas

3

ฉันใช้BeagleBone Black ที่ใช้ Debian 4.9 และเนื่องจากความจุในการเก็บข้อมูล จำกัด ฉันจึงต้องติดตั้งโฟลเดอร์ระยะไกลที่โฮสต์บนเดสก์ท็อป Windows 10 (ฉันรู้ว่านี่อาจไม่ใช่จุดที่ดีที่สุดจากมุมมองการออกแบบระบบ แต่ความต้องการทางธุรกิจมักจะมีที่ว่างสำหรับเรื่องนั้น) ดังนั้นเมื่อต้องพูดโพล่งออกมาโฟลเดอร์ระยะไกลที่เมาท์จึงเป็นสิ่งที่ฉันคิดขึ้น

หลังจากพบเจอปัญหามากมายที่พยายามเมานต์โฟลเดอร์แชร์ของ Windows 10 นี่เป็นวิธีการแก้ปัญหาของฉันเพื่อให้ผู้อื่นได้รับประโยชน์จากประสบการณ์ของฉัน

โฮสต์ "Remote" ของ Windows 10

  1. เปิดใช้งานการรองรับการแชร์ไฟล์ SMB1.0 / CIFS ในฟีเจอร์ Windows ( รายละเอียด )
  2. เริ่มต้นของ Windows NetLogonบริการ
  3. เปิดใช้งานการแชร์ในโฟลเดอร์ที่คุณต้องการแชร์

Debian Linux Client

  1. ติดตั้งแพคเกจสนับสนุน: smbclientและcif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. สร้างไดเรกทอรีเป้าหมายเพื่อเมาท์แชร์จากระยะไกล:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. เมาท์โฟลเดอร์ระยะไกล:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    UPDATE:หลังจากอัปเดตการติดตั้ง Debian ในเครื่องเป็นเวอร์ชัน 6.3 แล้วmountคำสั่งของฉันไม่ต้องการให้ฉันเพิ่มversตัวเลือกเพื่อระบุ SMB1:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

2
SMB1 ล้าสมัยแล้วและคุณควรพยายามหลีกเลี่ยงการใช้มันหากเป็นไปได้ หากคุณใส่vers=2.1ในmountตัวเลือกที่คุณจะได้รับ SMB 2. นอกจากนี้คุณยังต้องการจะดีกว่าใช้credentialsแทนและusername passwordและคุณอาจไม่ต้องการsec=ntmlสิ่งนั้นเลย
roaima

@roaima ขอบคุณสำหรับเคล็ดลับ แต่ฉันติดใช้สิ่งเก่า ขอบคุณสำหรับการแก้ไขการจัดรูปแบบโค้ดเช่นกัน มันไม่ได้ให้ฉันใส่รหัสระหว่างรายการ
Jim Fell

mountไม่หักพัง มันย้ายไปใช้ SMB2 หรืออาจเป็นไปได้ 3. SMB1 เลิกใช้มานานกว่าสิบปีแล้วและคุณไม่ควรใช้งาน
roaima

@roaima เป็นเรื่องดีที่รู้ แต่น่าเสียดายที่ Windows 10 นั้นรองรับเฉพาะ "SMB1.0 / CIFS" นอกจากนี้สำหรับเครือข่ายส่วนตัวดังนั้นฉันจึงไม่กังวลเกี่ยวกับความปลอดภัยมากเกินไป
Jim Fell

Windows 10 รองรับ SMB2 และ SMB3 คุณต้องติดตั้งแพคเกจการสนับสนุนเพื่ออนุญาตให้ถอยกลับไปที่ SMB1
roaima

1

ตรวจสอบว่ามีการติดตั้ง winbind จากนั้นใน/etc/nsswitch.confไฟล์ของคุณจะต้องมีการwinsระบุไว้ในhostsบรรทัด

สิ่งที่ต้องการ:

hosts: files wins dns

อาจมีโมดูลอื่น ๆ ที่ระบุไว้ทั้งนี้ขึ้นอยู่กับแพคเกจที่ติดตั้งในระบบของคุณ


พยายามแก้ปัญหานี้เมื่อวานนี้บน Ubuntu 12.04 64 บิตและใช้งานได้ดี ขอบคุณ วันนี้ฉันทำแบบเดียวกันกับ Ubuntu 12.04 32 บิตและมันก็ผิดปกติ
Czarek Tomczak

1
@update: sudo apt-get install winbindจะเปิดออกคุณต้องติดตั้งแพคเกจ
Czarek Tomczak
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.