smbclient Linux에서 Windows로 복사(SMB)

smbclient Linux에서 Windows로 복사(SMB)

쉘 스크립트를 사용하여 Linux 시스템에서 Windows(SMB)로 디렉토리를 복사하려고 합니다.

[user@host home]$ smbclient -W WORKGROUP --user='admin%admin$123' -c "put /data/directory" "//192.168.1.1/share"
Domain=[mydomain] OS=[Windows Server] Server=[Windows Server]
/data/directory does not exist
[user@host home]$ cd /data/directory
/data/directory
[user@host directory]$ ll
File1
File2
..

문제는 다음과 같습니다.

  • ( )를 사용해도 -N비밀번호가 승인되지 않습니다.

  • 이것도 시도해 보세요--user=admin%admin$123

명령에서 비밀번호를 제거하고 셸에서 비밀번호를 요청하면 작동했습니다!

참고: Windows와 Linux 간에 디렉터리를 전송하기 위해 Windows에서 컬 및 scp용 SSH 데몬에 대해 읽었습니다. Windows 또는 Linux 소프트웨어 패키지에서 추가 서비스가 필요하지 않은 제안이나 쉬운 방법이 있습니까?

답변1

/data/directoryWindows에서 복사본이 나타나는 것처럼 Linux에서 복사본을 만들 려면 \\192.168.1.1\share\directory다음 명령을 사용하면 됩니다.

smbclient -W WORKGROUP --user='admin%admin$123' -c "lcd /data;recurse;mput directory" "//192.168.1.1/share"

이유:

  • 디렉터리와 그 내용을 복사하려면 여러 파일을 복사하므로 재귀를 활성화 recurse하고 사용해야 합니다. mput일반 put명령만 전송됩니다.파일한 번에 선택적으로 대상에서 복제본에 다른 이름을 지정할 수 있습니다.
  • 처음 사용시에는 lcd재귀가 제한되므로 복사본이 되지 않고 \\192.168.1.1\share\data\directory그냥\\192.168.1.1\share\directory

관련 정보