픽업 장소:아치 리눅스 위키 항목, 내 생각에 이것은 내 Arch Linux 4.20.6에서 SMB를 통해 Windows 공유 드라이브에 액세스하기 위한 최소한의 설정이라고 생각합니다.
sudo pacman -S samba
sudo echo "logging = systemd" >> /etc/samba/smb.conf
smb
서비스에는 이 구성 파일이 필요하기 때문에 그렇지 않으면 다음 오류와 함께 충돌이 발생합니다.Job for smb.service failed because the control process exited with error code. See "systemctl status smb.service" and "journalctl -xe" for details.
sudo systemctl start smb
원격 Windows 시스템이 있다고 가정하면 172.16.17.52
공유 이름을 나열할 수 있습니다.
smbclient -L 172.16.17.52 -U MyUserName%MyPassword -W OurWindowsDomain
"디스크" 유형 서비스가 있고 OurRemoteDirectory
그 공유 이름에 액세스하고 싶습니다(예: 파일 전송).
OurRemoteDirectory
공유 드라이브에서 액세스 할 수 있기를 원하여 발행했습니다.
smbclient 172.16.17.52/OurRemoteDirectory -U MyUserName%MyPassword -W OurWindowsDomain
그러나 이로 인해 다음과 같은 오류 메시지가 생성되었습니다.
Unable to initialize messaging context
172.16.17.52: Not enough '\' characters in service
이 오류를 해결하고 OurRemoteDirectory
공유 드라이브에 액세스하는 방법은 무엇입니까?
답변1
이 문제를 해결하려면 두 개만 추가하면 됩니다.앞으로슬래시가 앞에 오는 IP 주소:
smbclient //172.16.17.52/OurRemoteDirectory -U MyUserName%MyPassword -W OurWindowsDomain
실망스럽게도 오류 메시지는 추가해야 한다고 제안했습니다.뒤에슬래시를 사용하고 공유 이름을 나열할 때 smbclient -L
IP 주소 앞에 슬래시가 필요하지 않습니다.
이제 원격 파일 시스템에 액세스하기 위한 명령줄 인터페이스가 생겼습니다.
중소기업:>
연결을 설정한 후,man smbclient
put
및 등의 파일 전송에 사용되는 명령에 대해 설명합니다 get
.
v7.40부터 포스트스크립트로curl
지원하다중소 기업프로토콜의 경우에도 마찬가지입니다 . 공유 드라이브에서 파일을 전송하거나 공유 드라이브로 파일을 전송하려는 경우 이 samba
패키지를 중복하게 만듭니다.smbclient
# Upload local file to shared drive
curl --upload-file /home/me/local_file.txt --user "OurWindowsDomain/MyUserName:MyPassword" smb://172.16.17.52/OurRemoteDirectory/Path/To/Dir/
# Download file from shared drive
curl -o file_from_server.txt --user "OurWindowsDomain/MyUserName:MyPassword" smb://172.16.17.52/OurRemoteDirectory/Path/To/Dir/remote_file.txt
현재 curl
원격 디렉터리 생성은 지원되지 않습니다. 즉 , Path/To/Dir/
해당 디렉터리가 이미 존재해야 한다는 의미입니다. 이 기능에 대해 간략하게 논의여기.