ssh, ftp, samba ファイルシステムをマウント
GitHub - libfuse/libfuse: The reference implementation of the Linux FUSE (Filesystem in Userspace) interface を利用し、ssh, ftp, samba ファイルシステムをマウントするためのソフトウエア(下記)の使い方をまとめておきます。
- sshfs has moved
- CurlFtpFS - A FTP filesystem based in cURL and FUSE
- http://www.ricardis.tudelft.nl/~vincent/fusesmb/
マウントのために root 権限は要りません。一般ユーザでマウントできます。
Fedora 7 では yum install sshfs curlftpfs fuse-smb で全部使えるようになります。ただし、ユーザをグループ fuse に追加する必要があります。
sudo gpasswd -a user fuse
これは、/dev/fuse に書き込める必要があるためです。
$ ls -l /dev/fuse crw-rw---- 1 root fuse 10, 229 2007-10-02 09:07 /dev/fuse
curlftpfs
ちょっと危険な方法としては、
curlftpfs ftp://user:passwd@ftpserver/ /path/to/mountpoint/
ただ、これではプロセスリストにパスワードが出てしまいます。curlftpfs のサイト にはプロセスリストにパスワードを表示させない方法が書かれています。簡単にまとめると、~/.netrc ファイルを作成し、下記のように ftp サーバ名、ログイン名、パスワードを書き込んで chmod 600 しておくと curlftpfs が ~/.netrc を読んでくれるというものです。
machine ftp.host.com login myuser password mypass
fuse-smb
まず、~/.smb/ を作成し、700 にします。
次に、~/.smb/fusesmb.conf をサンプルを見ながら作成します。Fedora 7 でパッケージでインストールした場合、/usr/share/doc/fuse-smb-0.8.5/fusesmb.conf.ex がサンプルです。下記の例では smb サーバ名を smberver と仮定し、認証で利用するユーザ名とパスワードを指定ています。すべての smb サーバで同じユーザ名とパスワードを利用する場合は global セクションに書けばよいです。
[global] interval = 10 timeout = 10 showhiddenshares=true [/smbserver] username=user password=pass
マウントします。smbmount のように samba 共有を指定してマウントするのではなく、Windows の[マイネットワーク]ショートカットを`作成'する感じです。
fusesmb /path/to/mountpoint/
/path/to/mountpoint/workgroup/smbserver/sharename/ でアクセスできます。
日本語ファイル名が文字化けする場合は ~/.smb/smb.conf で文字コードを指定します。Linux の Charset が EUC の場合、下記のようにすると文字化けを解消できます。
$ cat ~/.smb/smb.conf [global] create mask = 0644 directory mask = 0755 dos charset = CP932 unix charset = EUCJP-MS display charset = EUCJP-MS
アンマウント
共通です。
fusermount -u /path/to/mountpoint