2008年9月5日金曜日

Linuxサーバ作業中にWindowsファイルサーバを見に行く

Linuxサーバで作業中、ファイルを他から転送する1000の方法のうちの一つ、
smbclient を使ってWindows(またはSamba)の共有フォルダに繋げる。」 をメモ。
 

smbclient が入ってない場合は、samba-clientパッケージに含まれているのでyumなどで入れてしまう。
例えば人の端末を借りていて、scpとかでこちらから送信するといった端末側の装備に依存する手段がすぐ用意出来ない場合に使えてよい。
 
 


ドメインが「icraft.local」、ユーザアカウントが "sawano" だったら、 "icraft" をワークグループに指定してSambaのクライアントで共有に繋ぐ。
共有サーバの情報はIPでもいいしNetBIOS名でもOK。※CIFSがあるので
下記のようにすれば共有フォルダに繋がって、 smb: のプロンプトが出ます。
 
$ smbclient //[IPかNETBIOS名]/[共有名] -U sawano -W icraft
Password:
 
smb: \>

[]のところは適宜おきかえ、サーバ「sv001」の「Share」というフォルダなら、パスのところは "//sv001/share" になりますね。
 
 

繋がったら後はFTPの要領、使えるコマンドは"?(はてな)"入力で一覧が出る。
? altname archive blocksize cancel
case_sensitive cd chmod chown close
del dir du exit get
getfacl hardlink help history lcd
link lock lowercase ls mask
md mget mkdir more mput
newer open posix posix_open posix_mkdir
posix_rmdir posix_unlink print prompt put
pwd q queue quit rd
recurse reget rename reput rm
rmdir showacls setmode stat symlink
tar tarmode translate unlock volume
vuid wdel logon listconnect showconnect
!

 

GET と PUT だけできれば問題ない、あとはls、cd。

ついでに ! を使うとローカルPCへの操作になります、
> ls だと 共有サーバ側のファイル一覧
> !ls だと ローカル側で作業中のディレクトリ内ファイルリスト、GETしたらここに落ちるし、ここのファイルをPUTできる。