ฉันจะเมาท์การแชร์ SMB จากบรรทัดคำสั่งได้อย่างไร


75

ฉันต้องการติดตั้งการแชร์เครือข่าย SMB จากบรรทัดคำสั่ง (เทอร์มินัล); ฉันจะไปเกี่ยวกับสิ่งนั้นได้อย่างไร

ฉันใช้ Mac OS X 10.6.4

คำตอบ:


70

คุณสามารถใช้สิ่งนี้ได้อย่างง่ายดายmount_smbfs(ซึ่งจริงๆแล้วเป็นเสื้อคลุมสำหรับmount -t smbfs):

mount_smbfs //user@SERVER/folder ./mntpoint

ทางเลือกเพิ่มเวิร์กกรุ๊ป:

mount_smbfs -W workgroup //user@SERVER/folder ./mntpoint

แน่นอนคุณสามารถเปลี่ยน./mntpoint(สำหรับสิ่งที่ชอบ/Volumes/smb)

หลังจากทำสิ่งนี้แล้วเพียงไปที่./mntpointเพื่อเรียกดูข้อมูลของคุณ

หากต้องการถอนติดตั้งโดยใช้คำสั่งต่อไปนี้:

umount ./mntpoint

2
ฉันได้รับ: `mount_smbfs: ข้อผิดพลาดการเมาท์: เส้นทาง: ข้อผิดพลาดอินพุต / เอาต์พุต 'ขณะที่เมานต์ค้นหาผ่าน Finder-> เชื่อมต่อกับเซิร์ฟเวอร์
Ian Vaughan

ฉันจะทำอย่างไรหากชื่อผู้ใช้ของฉันมี @ char อยู่ ตัวอย่างเช่นเมื่อฉันใช้บัญชี microsoft เช่น xyz@microsoft.com ฉันพยายามให้ชื่อผู้ใช้ในการเสนอราคาเดียวและสองครั้ง แต่ทำงานได้ดี ..
Yashvit

2
ฉันได้รับข้อผิดพลาดนี้:mount_smbfs: could not find mount point /Volumes/Share: No such file or directory
Iulian Onofrei

11
อ้างอิงจากman mountใน OS X Yosemite:Note: You should always use the system mount command and never call mount_smbfs directly.
ssc

3
@Yashvit: เปลี่ยน '@' เป็น '% 40'
WGroleau

67

ใช้open(1)คำสั่งและ URL:

open 'smb://username:password@server/share'

จุดเด่น: สร้างจุดเชื่อมต่อ/Volumesสำหรับคุณ

ข้อด้อย: ต้องใช้ Finder เพื่อให้ทำงานได้


4
ฉันชอบรุ่นนี้สำหรับการเชื่อมต่อที่รวดเร็วในเครือข่ายท้องถิ่นของฉันมีผู้ใช้ทั้งหมดเป็นที่รู้จักดังนั้นนี่คือคำสั่งที่ง่ายกว่าจากนั้นใช้ mount_smbfs - ที่จริงฉันมีปัญหาเกี่ยวกับเส้นทางที่ไม่มีอยู่ - ในขณะที่ถ้าฉันต้องการเชื่อมต่อกับเซิร์ฟเวอร์ใหม่ ระบบไฟล์พิเศษหรือฉันจะต้องลองผู้ใช้คนอื่นหรือต้องการจุดเชื่อมต่อที่แตกต่างกัน - ok - แต่มันเกิดขึ้นบ่อยแค่ไหน ... ดังนั้นนิ้วหัวแม่มือของฉันก็ขึ้นไปหาทางออกที่ง่ายกว่านี้! ทำได้ดี! โอเคฉันเป็นคนที่คลั่งไคล้เทอร์มินัลที่ยังคงใช้ Finder อยู่ แต่นั่นก็เหมือนกับ 90% ของพวกเราใช่ไหม
ซอฟต์แวร์ hexerei

ไม่ได้Finderเปิดเสมออย่างน้อยเป็นกระบวนการหรือไม่
Iulian Onofrei

1
@Iulian Onofrei: ไม่เว้นแต่ผู้ใช้จะได้รับการเข้าสู่ระบบแบบโต้ตอบ ฉันต้องการใช้mountคำสั่งโดยตรงในcronงาน การใช้openคำสั่งสิ่งเหล่านี้จะล้มเหลวหากเซสชันการโต้ตอบหายไปเช่นหลังจากไฟฟ้าดับ
จอร์จ

นอกจากนี้โปรดทราบว่าopenจะออกจากราวกับว่ามันประสบความสำเร็จถ้ามันผ่านคำสั่งไปที่ Finder แม้ว่าคำสั่งในภายหลังจะไม่สามารถเชื่อมต่อกับไดรฟ์เครือข่ายได้
Jonathan Wren

23

คุณควรดูที่ความช่วยเหลือของการติดตั้ง:

man mount

เมื่อตรวจสอบอย่างละเอียดคุณจะเห็นว่าประเภทของระบบไฟล์คือ:

mount -t smbfs //username:password@MACHINENAME/SHARENAME /SomeLocalFolderOfChoice

รหัสผ่าน (และชื่อผู้ใช้ตามทฤษฎี) เป็นตัวเลือก

ผลลัพธ์ของคำสั่งข้างต้นจะไม่มีผลลัพธ์ (ถ้าทุกอย่างก็โอเค) แต่ a cd /SomeLocalFolderOfChoice, ควรสร้างผลลัพธ์ระยะไกล โปรดทราบว่าSomeLocalFolderofChoiceต้องมีอยู่

คุณยังสามารถใช้ mount_smbfs เพื่อแทนที่ mount -t smbfs


5

อะไรที่ทำให้ฉันติดตั้งได้ในระหว่างบู๊ต:

==> /etc/auto_master <==
#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/-          auto_smb          # add this line <**********

==> /etc/auto_smb <==         # Create this if it doesn't exist <****
/(not Volumes)/Public   -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Public
/(not Volumes)/ WGroleau -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Students/wes_groleau

ด้วยเหตุผลบางอย่างทั้งชื่อย่อและ FQDN ของเซิร์ฟเวอร์ไม่ทำงานดังนั้นฉันจึงใช้ 'ping (ชื่อ) เพื่อรับ IP กล่าวอีกนัยหนึ่ง DNS จะแก้ไขชื่อ แต่ mount_smbfs ไม่สามารถทำได้

และฉันไม่สามารถใส่จุดเชื่อมต่อใน / เล่มเพราะบูตขึ้นจะลบ

หนึ่งในการเล่นโวหาร: หลังจากนี้ทำงานได้ดีสำหรับสองสามวันเป็นเวลาสองหรือสามวัน LibreOffice, Adobe Reader และ Finder ไม่สามารถค้นหาหนึ่งในสองของการแบ่งปัน แต่เชลล์และ TextEdit ไม่มีปัญหา หลังจากนั้นสองหรือสามวันมันก็เริ่มทำงานอย่างลึกลับอีกครั้ง

หากคุณทำการแก้ไขเหล่านี้และไม่ต้องการรีบูตคุณสามารถติดตั้งด้วย 'auto mount -vc'

ปรับปรุง: นิสัยใจคอมากขึ้น (1) มีระบบ WiFi สองระบบที่นี่และหนึ่งในนั้นไม่สามารถเข้าถึงเซิร์ฟเวอร์ Windows สองสามครั้งต่อสัปดาห์หนึ่งหรือทั้งสองเราเตอร์ลงไป หาก "สิ่งที่ดี" ขัดข้องและ MacBook เชื่อมต่อกับอีกตัวหนึ่งโดยอัตโนมัติแทนที่จะบอกฉันว่าไดรฟ์ออฟไลน์ไดรเวอร์ SMB จะพูดว่า "มีผู้ใช้มากเกินไป" (2) สองสามครั้งต่อสัปดาห์ฉันได้รับ "สิทธิ์ถูกปฏิเสธ" เมื่อฉันพยายามเข้าถึงไฟล์ Windows ของฉัน โดยทั่วไปแล้วจะใช้เวลาประมาณครึ่งชั่วโมงในระหว่างที่ฉันสามารถไปที่หน้าต่างแถบและเข้าสู่ระบบและดูไฟล์ที่มี ID และรหัสผ่านเดียวกัน


เนื่องจากสิ่งนี้ได้รับการยกระดับขึ้นสองครั้งในสัปดาห์นี้ฉันควรชี้ให้เห็นว่ามันถูกเขียนใน MacOS หลายเวอร์ชันมาแล้ว
WGroleau

4

การใช้ AppleScript นั้นสะดวกเพราะจะเก็บรหัสผ่านของคุณไว้ใน Keychain ฟังก์ชั่นทุบตี:

function mymount
{
    osascript <<EOF
mount volume "smb://user@fqdn1/volume1"
mount volume "smb://user@fqdn2/volume2"
EOF
}

เรียกใช้ 'mymount' จาก bash ป้อนรหัสผ่านผ่านป๊อปอัพ Keychain และถ้าทุกอย่างเข้ากันดีแล้ววอลุ่มที่ร้องขอจะถูกติดตั้งใน / Volumes


นั่นเป็นวิธีที่สมบูรณ์แบบเช่นกัน ฉันไม่ชอบคำตอบที่ได้รับการอนุมัติเพราะมันเป็นผู้ใช้รูท ในความคิดของฉันหนึ่ง liners เหล่านี้ควรเป็นตัวเลือกที่ดีที่สุด: /usr/bin/osascript -e 'mount volume "smb://username:password@server/share"'หรือopen /Volumes; open 'smb://username:password@server/share'
laimison

3

ฉันจะเพิ่มว่าถ้าคุณมีชื่อผู้ใช้ของแบบฟอร์ม "workgroup \ ชื่อผู้ใช้" คุณควรติดตั้งแบบนี้:

mount -t smbfs "//WORKGROUP;username:password@MACHINENAME/SHARENAME" /SomeLocalFolderOfChoice

ที่มา: ปรับตัวอย่างจากที่นี่


-1

โพสต์เก่า แต่สิ่งที่เกี่ยวกับการติดตั้งเช่นนี้:

smb://no_username:password@MACHINENAME 

ชอบไดรฟ์เครื่องเวลาหรือไม่


1
"จากบรรทัดคำสั่ง (เทอร์มินัล)" ... นี่ไม่ใช่คำสั่ง bash ที่ถูกต้อง ฉันถือว่าคุณหมายถึงด้วย Finder + ⌘Kเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ซึ่งไม่ใช่สิ่งที่ OP ขอ
mattmc3
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.