ピックアップ場所:Arch Linux Wikiエントリー、私の考えでは、これは私の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
この問題を解決するには、2 つだけ追加します。今後スラッシュが前にあるIPアドレス:
smbclient //172.16.17.52/OurRemoteDirectory -U MyUserName%MyPassword -W OurWindowsDomain
残念ながら、エラーメッセージは追加する必要があると提案しました。後ろにスラッシュを使用して共有名を一覧表示するときは、smbclient -L
IPアドレスの前にスラッシュは必要ありません。
これで、リモートファイルシステムにアクセスするためのコマンドラインインターフェイスが作成されました。
中小企業:>
接続を確立した後、man smbclient
put
などのファイル転送に使用されるコマンドについて説明しますget
。
v7.40からPostScriptへ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/
するディレクトリが既に存在しなければならないという意味です。この機能について簡単に議論ここ。