LinuxサーバーからWindowsにファイルをコピーする必要がありますが、スクリプトでそれを自動化する必要があるため、smbclientログインにはいくつかの問題があります。
このコマンドはsmbclient -U LR //10.123.42.144/Doc
パスワードを要求するので、これをスキップするには、「-Uユーザー名%パスワード」を使用する必要があることを知って、次のことを試しました。
smbclient -U LR%HH9]\<p# //10.123.42.144/Doc
しかし、次のエラーが発生しました。失敗しました(エラーNT_STATUS_IO_TIMEOUT)。
-W WORKGROUPを追加しようとしましたが、別のエラーが発生しました:セッション設定に失敗しました:NT_STATUS_LOGON_FAILURE
パスワードを手動で入力すると正常にログインできますが、自動的にログインするにはどうすればよいですか?
答え1
smbclient
おそらくスクリプトで資格情報を渡す最も簡単な方法は、次のように使用することです.オプション-A
:
-A|--authentication-file=filename
このオプションを使用すると、接続に使用されるユーザー名とパスワードを読み取るファイルを指定できます。ファイル形式は次のとおりです。username = <value> password = <value> domain = <value>
ファイル権限が不要なユーザーのアクセスを制限していることを確認してください。
したがって、資格情報を使用してファイルを作成します。
資格情報.txt
username=LR
password=HH9]<p#
資格情報を入力する代わりに、次を使用します。
smbclient -A credentials.txt //10.123.42.144/Doc