UbuntuからWindows XPの共有フォルダにアクセスしてファイルをコピーする(Nautilus編)
-
から、LAN内にあるWindowsのネットワークの共有フォルダにアクセスすることができる。この方法でアクセスすると、Windowsのネットワークフォルダが自動的に~/.gvfsにマウントされる。
Ubuntu側からWindowsの共有フォルダにファイルをコピーした場合、タイムスタンプは現在時刻になる。逆だとタイムスタンプは維持される。
UbuntuからWindows XPの共有フォルダにアクセスしてファイルをコピーする(mountコマンド編)
-
を起動し、
sudo mount -t cifs //IPアドレス/共有フォルダ名 マウント先 -o uid=ユーザ名,gid=グループ名,codepage=cp932,iocharset=utf8
とコマンドを実行すると、Windowsの共有フォルダをUbuntu側のフォルダに手動でマウントすることが出来る。- マウント先のフォルダは自分で作っておく。好きなところに作ればOKなはずだけど、/mnt以下にするとLinuxっぽいかもしれない。
- オプションのuidとgidを現在Ubuntuにログインしているユーザのと同じにすれば、Ubuntu側からWindows側にファイルをコピーしてもタイムスタンプが維持される。
- codepageとiocharsetが無いと日本語が文字化けするので注意
- コマンド打つのが面倒な場合は/etc/fstabに書いておけば起動時に自動的にマウントされるはず
※関連:mount.cifs
起動時にWindowsの共有フォルダを自動的にマウントする
-
※後で書き直すかもしれない
でGNOMEターミナルを起動し、
sudo leafpad /etc/fstab
とコマンドを実行して/etc/fstabを管理者権限で開き、末尾に//WindowsのIPアドレス/共有フォルダ名 /media/smb_folder cifs username=Windowsのユーザ名,password=Windowsのパスワード,codepage=cp932,iocharset=utf8 0 0
と書いて保存。ターミナルでsudo mount -aを実行するか、パソコンを再起動すると自動的にマウントされる。必要なオプションは環境によって異なる。
※ウチの環境ではpasswordとcodepageが無くても正常にマウントできた。
- /media/smb_folderは自分で作っておく
- 第4列のオプションは,で区切る
- iocharsetはUbuntuの文字コード、codepageはWindowsの文字コード。書かないと文字化けする可能性がある。
- Windowsのユーザ名でマウント出来ない場合は、Windowsのマイコンピュータのプロパティに表示される『使用者名』をusernameに記述すると繋がるかもしれない(ウチではそうだった)
- 参考
- fstabの書式など
http://www.linux.or.jp/JM/html/util-linux/man5/fstab.5.html - smbmountのオプション
http://www.samba.gr.jp/project/translation/3.0/htmldocs/smbmount.8.html
※このやり方はセキュリティ的に問題がある。ユーザ名やパスワードを記述したファイルを別に用意して、credentialsオプションで読み込むようにした方が安全。 - fstabの書式など
Windows XPからUbuntuの共有フォルダにアクセスしてファイルをコピーする(nautilus-share編)
-
※もしかすると事前にsambaやsmbfsをインストールしておく必要があるかもしれない
Ubuntu側で共有したいフォルダを右クリックしてSharing Optionsを選択し、Share this folder、Allow other people to write in this folder、Guest accessにチェックを入れ、Sharing nameに任意の文字列を入力して、Modify Shareボタンを押せばOK。Windows側から共有フォルダにアクセスできるようになる。設定は/var/lib/samba/usersharesに保存される。
この方法でWindows側からUbuntuにファイルをコピーした場合、所有者がnobody、グループがnogroup、アクセス権が744になる。タイムスタンプは引き継がれる。(フォルダをコピーした場合、フォルダ内にファイルがあるとUbuntu側から削除できない。削除するには管理者権限が必要)