ฉันใช้คอมพิวเตอร์เพื่อเข้าถึงไฟล์บน RPi โดยใช้เซิร์ฟเวอร์ Samba บน RPi
แต่มีวิธีใดบ้างที่ฉันจะสามารถเปิด Samba Connections บน Pi? ชอบดูไฟล์ Windows PC Samba บน RPi หรือไม่?
smbclient
สำหรับการนี้ก็คือ
ฉันใช้คอมพิวเตอร์เพื่อเข้าถึงไฟล์บน RPi โดยใช้เซิร์ฟเวอร์ Samba บน RPi
แต่มีวิธีใดบ้างที่ฉันจะสามารถเปิด Samba Connections บน Pi? ชอบดูไฟล์ Windows PC Samba บน RPi หรือไม่?
smbclient
สำหรับการนี้ก็คือ
คำตอบ:
ก่อนติดตั้งแพคเกจบางอย่าง:
apt-get install samba-common smbclient samba-common-bin smbclient cifs-utils
จากนั้นสร้างโลคัลไดเร็กทอรีและเมาต์การแชร์แบบรีโมต:
mkdir /mnt/abc
mount -t cifs //server/share /mnt/abc
ที่server
ชื่อคอมพิวเตอร์ windows ของคุณ (DNS หรือ netbios) และshare
เป็นไดเรกทอรีที่ใช้ร่วมกัน windows ของคุณ
ทั้งนี้ขึ้นอยู่กับการเข้าถึงที่คุณให้กับ windows share ของคุณเป็นข้อมูลประจำตัวที่จำเป็น: ถ้าคุณให้สิทธิ์การเข้าถึงแบบอ่าน (และเขียน) แบบ 'ทุกคน' ในการเข้าถึง (และเขียน) ไม่ต้องมีอะไรอื่นมิฉะนั้นคุณต้องเพิ่มข้อมูลประจำตัว
mount -t cifs //server/share /mnt/abc -o user=user,pass=password,dom=domain
แทนที่ด้วยข้อมูลประจำตัวของคุณเอง
เมื่อเสร็จแล้วก็ยกเลิกการแชร์:
umount /mnt/abc
sudo mount -t cifs -o username=guest,password=,vers=1.0 //192.168.0.1/sda1 /home/pi/router
ฉันต้องเพิ่ม vers = 1.0 เพื่อให้ทำงานกับเราเตอร์ smb share ของฉัน
หากการแบ่งปัน samba ไม่จำเป็นต้องมีข้อมูลรับรองใด ๆ ในการเข้าสู่ระบบและคุณต้องการติดตั้งการแชร์เมื่อคุณเริ่ม raspberry pi ของคุณจากนั้นแก้ไขไฟล์ fstab เป็น root
sudo nano /etc/fstab
และเพิ่มบรรทัดต่อไปนี้
//server/share /mnt/abc cifs guest 0 0
ปิดและบันทึกการเปลี่ยนแปลงไปยังไฟล์ fstab
ตรวจสอบว่าทุกอย่างเชื่อมต่อตามที่ควร
sudo mount -a
หากการแบ่งปัน samba ของคุณต้องการรหัสผ่านคุณสามารถเชื่อมต่อใช้สิ่งต่อไปนี้ในรายการ fstab ของคุณ
//server/share /mnt/abc cifs username=username,password=password 0 0
ไม่ใช่ความคิดที่ดีที่สุดในการใช้วิธีนี้หากคนอื่นสามารถเข้าถึง RPi หรือเครือข่ายของคุณเนื่องจาก fstab สามารถอ่านได้และจะสามารถอ่านรหัสผ่านของคุณได้
ทางออกที่ดีกว่าคือการใช้ไฟล์ข้อมูลรับรอง
nano ~/.smbcredentials
จากนั้นป้อนชื่อผู้ใช้และรหัสผ่านของคุณลงในไฟล์
username=username
password=password
บันทึกไฟล์และเปลี่ยนการอนุญาตดังนั้นจึงไม่สามารถอ่านได้โดยผู้อื่น
chmod 600 ~/.smbcredentials
จากนั้นแก้ไขเป็นรูทของ fstab เพื่อเพิ่ม samba share
//server/share /mnt/abc cifs credentials=/home/pi/.smbcredentials 0 0
ทดสอบอีกครั้งด้วย
sudo mount -a
และหากไม่มีข้อผิดพลาดมันจะทำการแบ่งปันโดยอัตโนมัติเมื่อคุณรีบูท
เพียงเพิ่มสิ่งที่ฉันสังเกตเห็นมากในฟอรั่มเมื่อมีคนถามคำถามที่เหมาะสม ทำไมผู้คนจึงตอบสนองด้วยบางสิ่งบางอย่างตามแนว "ทำไม xxxxxx, yyyyy จึงดีกว่า" นั่นไม่ใช่สิ่งที่พวกเขาถามและมันก็ไม่ได้เป็นประโยชน์
ปัญหาของฉันคล้ายกัน เป้าหมายของฉันคือ dd-wrt samba share
ปัญหาของฉัน: ไม่สามารถติดตั้งได้ (เช่นfstab
จาก RPi3)
ฉันมีข้อผิดพลาดจาก "ไม่สามารถส่งรหัสผ่านเพื่ออ้างอิงไปยัง mount.cifs" เป็น "ข้อผิดพลาดอาร์กิวเมนต์ที่ไม่ถูกต้อง 22"
ผมมาในโพสต์นี้ไม่สามารถติดตั้ง samba หุ้น: เมาข้อผิดพลาด (22)และคำตอบนี้แสดงให้เห็นว่าการแก้ปัญหาคือการเพิ่มตัวเลือกในvers=1.0
mount
ฉันหวังว่าจะช่วยคุณ
หากหลังจากพยายามติดตั้งแบ่งปันอัตโนมัติคุณจะพบกับสถานการณ์ที่ Pi จะไม่บูตอีกต่อไปปล่อยคุณใน "โหมดฉุกเฉิน" และ / หรือบอกคุณว่าบัญชีรากถูกล็อคคุณสามารถเอาชนะมันได้โดยทำตาม คำแนะนำอยู่ที่นี่: ปัญหาการบูต Raspberry Pi - บัญชีรูทถูกล็อค! .
สรุปขั้นตอนที่เชื่อมโยงสำหรับอนาคต:
- ดึง SD card ของคุณจาก Pi และใช้อะแดปเตอร์ต่อเชื่อมกับการ์ด PC, Mac หรือ Linux
- คุณควรจะเห็น
/boot
พาร์ติชันของการ์ด SD ของคุณ- ค้นหาไฟล์
cmdline.txt
และเพิ่มต่อไปนี้ในตอนท้ายของบรรทัดinit=/bin/sh
หมายเหตุ: อย่าสร้างบรรทัดใหม่เพียงเพิ่มข้างบนถึงจุดสิ้นสุดของบรรทัดปัจจุบัน- โหลดการ์ด SD กลับไปที่ Pi ของคุณและบูตขึ้น
- ตอนนี้คุณควรได้รับพรอมต์รูตเชลล์ จากที่นี่คุณสามารถเลิกทำการเปลี่ยนแปลง
/etc/fstab
หรืออะไรก็ตามที่ทำให้ระบบของคุณพัง- ในบางกรณีคุณจะไม่สามารถบันทึกการเปลี่ยนแปลงของคุณและระบบจะบ่นเกี่ยวกับระบบไฟล์แบบอ่านอย่างเดียว หากคุณได้รับการย้ายไปที่ขั้นตอนต่อไป
การ์ด Raspberry Pi SD จะมีสองพาร์ติชันหลักเนื่องจากเราไม่สามารถอ่านตารางพาร์ติชันได้โดยตรงคุณต้องค้นหาอุปกรณ์สำหรับรูทและพาร์ติชันสำหรับบูตด้วยตนเอง คุณสามารถทำเช่นนี้ได้โดยไปที่
/dev
ไดเรกทอรีและคุณจะเห็นสิ่งที่คล้ายกับ&mmcblk0p1
mmcblk0p2
อุปกรณ์ที่สองmmcblk0p2
จะเป็นรูทพาร์ติชันของคุณ คุณต้องติดตั้งใหม่นี้ด้วยสิทธิ์การอ่าน:
mount -o remount,rw /dev/mmcblk0p2 /
สามารถทำได้อย่างง่ายดายที่สุดโดยติดตั้งการ์ด SD บนคอมพิวเตอร์เครื่องอื่น (Mac / Linux / Windows) และแก้ไขcmdline.txt
ไฟล์ที่นั่น
ฉันสร้างสภาพแวดล้อมของฉันด้วยรายการ fstab ที่ไม่ดีและการทำตามคำแนะนำเหล่านี้ทำให้ฉันสามารถคลี่คลายข้อผิดพลาดนั้นได้