ฉันสงสัยว่ามีวิธีใช้ Samba เพื่อส่งรายการไปยังเครื่องไคลเอนต์ผ่านทางบรรทัดคำสั่ง (ฉันต้องส่งไฟล์จากเซิร์ฟเวอร์ Samba) ฉันรู้ว่าฉันสามารถใช้งานได้ตลอดscp
แต่ก่อนอื่นฉันก็สงสัยว่ามีวิธีการทำกับ Samba หรือไม่ ขอบคุณ!
ฉันสงสัยว่ามีวิธีใช้ Samba เพื่อส่งรายการไปยังเครื่องไคลเอนต์ผ่านทางบรรทัดคำสั่ง (ฉันต้องส่งไฟล์จากเซิร์ฟเวอร์ Samba) ฉันรู้ว่าฉันสามารถใช้งานได้ตลอดscp
แต่ก่อนอื่นฉันก็สงสัยว่ามีวิธีการทำกับ Samba หรือไม่ ขอบคุณ!
คำตอบ:
ใช้smbclient
โปรแกรมที่มาพร้อมกับ Samba:
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file'
มีแฟล็กจำนวนมากเช่น-U
เพื่ออนุญาตให้ชื่อผู้ใช้รีโมตแตกต่างจากโลคัลโลคัล
smbclient
ในระบบที่แยกแซมบ้าเข้ามาในแพคเกจไบนารีหลายท่านอาจจะมีการติดตั้งเซิร์ฟเวอร์แซมบ้ายังคงจะหายไป ในกรณีดังกล่าวให้ตรวจสอบพื้นที่เก็บข้อมูลของคุณแพคเกจสำหรับแพคเกจที่มีชื่อsmbclient
, samba-client
หรือที่คล้ายกัน
//server
ข้างต้นฉันหมายถึงสิ่งที่คุณกำลังเรียกเครื่องไคลเอนต์ซึ่งในกรณีนี้จะทำหน้าที่เป็นเซิร์ฟเวอร์ จำเป็นต้องมีโฟลเดอร์หรือไดรฟ์ที่แชร์ผ่าน SMB เพื่อให้ทำงานได้
scp
ผมคิดว่าผมก็จะใช้ ขอบคุณอยู่ดี!
curl รองรับsmb
โปรโตคอลตั้งแต่ v7.40 :
curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/
curl --upload-file /home/me/local_file.txt --user "OurWindowsDomain\UserName:thePassword" smb://172.16.17.52/ShareName/Path/To/Remote/Dir
นี้ทำงานที่ดีสำหรับฉัน: ฉันได้รับรายชื่อเกมที่ใช้ร่วมกันทั้งหมดด้วยsmbclient -L //172.16.17.52 -U UserName%thePassword -W OurWindowsDomain
จะได้ผลจริงๆ:
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file remote-file'
ท้องถิ่นไฟล์ - ไฟล์จากเครื่องท้องถิ่น
remote-file - คัดลอกไปยังไฟล์นี้บนเครื่องระยะไกล
หากคุณใช้เดสก์ท็อปที่มีการแชร์เมานต์โดยnautilus , cajaหรือตัวจัดการไฟล์อื่น ๆคุณอาจใช้ฟิวส์ (แทนsmbclient )
ถ้าเป็นเช่นนั้นคุณอาจพบจุดเมานต์บางแห่งได้ที่:
ls -l /run/user/$UID/gvfs/
drwx------ 1 charlie charlie 0 Feb 2 10:04 smb-share:server=hostname,share=documents
ใช่นี่คือจุดยึด !
df -h /run/user/$UID/gvfs/*
Filesystem Size Used Avail Use% Mounted on
gvfsd-fuse 16.2T 3.6T 12.6T 59% /run/user/1000/gvfs
และคุณสามารถใช้มันเป็นระบบไฟล์ปกติ
cp $HOME/myfile \
/run/user/$UID/gvfs/smb-share:server=hostname,share=documents/destpath/
smbclient Version 4.9.5-Debian
และcurl 7.64.0
ไม่ทำงานสำหรับฉัน ( Linux kali 4.19.0-kali4-amd64
)
สิ่งนี้ทำ:
smbmap -H server -u username -p password --upload local-filename share\\remote-filename
Connection to [IP] failed (Error NT_STATUS_CONNECTION_REFUSED)