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に記述すると繋がるかもしれない(ウチではそうだった)
  • 参考
    ※このやり方はセキュリティ的に問題がある。ユーザ名やパスワードを記述したファイルを別に用意して、credentialsオプションで読み込むようにした方が安全。

Windows XPからUbuntuの共有フォルダにアクセスしてファイルをコピーする(nautilus-share編)

  • ※もしかすると事前にsambaやsmbfsをインストールしておく必要があるかもしれない

    Ubuntu側で共有したいフォルダを右クリックしてSharing Optionsを選択し、Share this folderAllow other people to write in this folderGuest accessにチェックを入れ、Sharing nameに任意の文字列を入力して、Modify Shareボタンを押せばOK。Windows側から共有フォルダにアクセスできるようになる。設定は/var/lib/samba/usersharesに保存される。

    この方法でWindows側からUbuntuにファイルをコピーした場合、所有者がnobody、グループがnogroup、アクセス権が744になる。タイムスタンプは引き継がれる。(フォルダをコピーした場合、フォルダ内にファイルがあるとUbuntu側から削除できない。削除するには管理者権限が必要)

戻る
更新:2008年11月17日
作成:2008年11月17日