วิธีการเข้าถึงไฟล์เซิร์ฟเวอร์ windows จาก linux


12

เรามีไฟล์เซิร์ฟเวอร์ windows ที่มีที่อยู่ดังนี้:

\\bioinf-filesrv2.mycompany.fr\cluster15

ฉันจะเข้าถึงจาก Linux ได้อย่างไร

ใน Ubuntu 14.04 ฉันพยายามเข้าถึงผ่านทาง nautilus แต่มันล้มเหลว นี่คือรายงานข้อผิดพลาด:

http://pastebin.mozilla.org/5533388


1
โปรดให้ข้อมูลเพิ่มเติมกับเรา คุณใช้ Linux อะไรอยู่ คุณมีส่วนต่อประสานกราฟิกหรือไม่? คุณได้ลองเปิดเบราว์เซอร์ไฟล์ (เพียงคลิกที่ไดเรกทอรีใด ๆ ) และตรวจสอบส่วนเครือข่ายหรือไม่? นอกจากนี้เราคาดว่าผู้ใช้จะลองและแก้ไขปัญหาด้วยตนเองก่อนที่จะโพสต์ที่นี่ คุณลองผลลัพธ์หลายพันรายการที่คุณได้รับเมื่อคัดลอก / วางชื่อคำถามของคุณลงในเครื่องมือค้นหาหรือไม่ พวกเขาล้มเหลวอย่างไร
terdon

คำตอบ:


14

สมมติว่าเป็น Linux ล่าสุดให้ทำดังนี้

$ mount -t cifs //bioinf-filesrv2.mycompany.fr/cluster15 /mnt

/mntซึ่งจะติดมันที่ คุณจะต้องมีสิทธิ์เพียงพอ (หรือเป็นรูท)

หากคุณต้องการเพิ่มข้อมูลรับรองลอง:

$ mount -t cifs -o username=myuser,password=mypass //bioinf-filesrv2.mycompany.fr/cluster15 /mnt

คุณอาจต้องติดตั้งแพคเกจจากที่เก็บของ distro ของคุณที่เรียกว่าcifs-utilsแต่หวังว่ามันจะมีอยู่ในส่วนหนึ่งของการติดตั้งมาตรฐานแล้ว


ปลอดภัยหรือไม่ที่จะใส่รหัสผ่านในบรรทัดคำสั่ง?
qed

มีความปลอดภัยเท่ากับที่เป็นบรรทัดคำสั่ง หากคุณใส่ไว้ในสคริปต์แสดงว่าพวกเขาปลอดภัยเท่ากับสิทธิ์ในสคริปต์นั้น มีทางเลือกอื่นคือการใช้ไฟล์ข้อมูลรับรอง นี้มีการอธิบายที่นี่
starfry

ใน Debian GNU / Linux 10 (มือปราบ) ผมได้รับbad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.UPDATE: ตกลงฉันอาจจะต้องapt install cifs-utils...
ไม่มีใคร

4

ฉันขอแนะนำให้เพิ่มลงในของคุณ/etc/fstabดังนั้นจึงออนไลน์ทันทีที่คุณบูต Mine มีการอ่านบรรทัด (ยาว):

//1.2.3.4/share_name/    /media/mount_point    cifs    uid=1000,guid=1000,rw,credentials=/etc/cifspasswd    0    0
  • ฟิลด์แรกคือที่อยู่และชื่อที่ใช้ร่วมกัน
  • ฟิลด์ที่สองคือจุดเชื่อมต่อในระบบของคุณ (โฟลเดอร์จะต้องมีอยู่)
  • cifs เป็นประเภทของระบบไฟล์สำหรับ Windows share ใด ๆ
  • uid=1000,guid=1000,rw หมายความว่าทุกคนในระบบสามารถเข้าถึงการแชร์นี้
  • credentials=/etc/cifspasswdหมายความว่าข้อมูลประจำตัวที่พบใน/etc/cifspasswdจะใช้ในการตรวจสอบสิทธิ์การเข้าถึงแชร์บนเซิร์ฟเวอร์ Windows

ไฟล์ข้อมูลรับรองนี้ควรมีชื่อผู้ใช้และรหัสผ่านที่จำเป็นสำหรับการเข้าถึงการแชร์ Windows เช่น

username=foo
password=bar

ในฐานะที่/etc/fstabเป็น (โดยปกติ) ผู้ใช้รายอื่นของระบบสามารถอ่านได้คุณสามารถสร้างไฟล์เป็น root และchmod go-=rwxเพื่อลบการเข้าถึงสำหรับผู้ใช้รายอื่นเพื่อป้องกันรหัสผ่านของคุณ

Caveatหากคุณบูตระบบและเซิร์ฟเวอร์ของคุณไม่พร้อมใช้งาน Linux จะรอสักครู่ระหว่างลำดับการบู๊ตก่อนที่จะยอมแพ้


1
uid=1000,gid=1000,rw,credentials=/etc/cifspasswdนี้ทำงานที่ดีสำหรับฉันยกเว้นส่วนที่ตัวเลือกของเส้นที่ควรจะ: โปรดทราบว่าได้เปลี่ยนไปguid gid
Michael Johnson

1
โอ้และฉันต้องเปลี่ยนส่วนระบบไฟล์เพื่อใช้\040สำหรับช่องว่าง (ต้องรักผู้ดูแลระบบ Windows) มีข้อมูลว่าจากนี้คำตอบที่กองมากเกิน
Michael Johnson

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