![명령줄을 사용하여 Samba를 통해 파일 보내기](https://linux55.com/image/66000/%EB%AA%85%EB%A0%B9%EC%A4%84%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20Samba%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%ED%8C%8C%EC%9D%BC%20%EB%B3%B4%EB%82%B4%EA%B8%B0.png)
Samba를 사용하여 명령줄을 통해 클라이언트 컴퓨터에 프로젝트를 보내는 방법이 있는지 궁금합니다(Samba 서버에서 파일을 보내야 합니다). 나는 항상 를 사용할 수 있다는 것을 알고 있지만 scp
먼저 Samba를 사용하여 이 작업을 수행할 수 있는 방법이 있는지 알고 싶습니다. 감사해요!
답변1
사용smbclient
, Samba와 함께 제공되는 프로그램:
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file'
-U
원격 사용자 이름을 로컬 사용자 이름과 다르게 허용하는 등 많은 플래그가 있습니다 .
Samba가 여러 바이너리 패키지로 분할된 시스템에서는 Samba 서버가 설치되어 있지만 여전히 누락될 수 있습니다 smbclient
. 이 경우 패키지 저장소를 확인하여 이름 이 같은 패키지 smbclient
가 있는지 확인하세요 .samba-client
답변2
컬은 smb
v1 프로토콜을 지원합니다v7.40부터:
curl --upload-file /path/to/file.ext -u 'DOMAIN\Username' smb://172.16.17.52/ShareName/
SMB v1은 기본적으로 Windows에서 더 이상 사용할 수 없으므로 기본 구성의 현재 Windows 공유에는 적용되지 않습니다.
답변3
실제로 작동하는 것은 다음과 같습니다.
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file remote-file'
local-file - 로컬 컴퓨터의 파일
원격 파일 - 이 파일을 원격 컴퓨터에 복사합니다.
답변4
나는 많은 연구를 했고 마침내 아래 명령을 사용하여 한 번에 쉘 파일을 통해 파일을 전송하는 데 성공했습니다.
smbclient -m smb2 '//xx.xxx.xxx.xx/share1/' -U domxyz/xyz%password123 -c 'cd "FOLDER 1/FOLDER 2/" ; put FILE1.xlsx'