In linux is possible to mounting network drive by FTP with fuse and curlftps. Here the step to install.

Install fuse utils with yum command

yum install fuse-utils

Install CurlFTPfs via rpm. You can get RPM of CurlFTPfs from http://pkgs.repoforge.org/fuse-curlftpfs/ . In this case, we want to install in CentOS 6.x with 64 bit arch, so we use the fuse-curlftpfs-0.9.1-1.el6.rf.x86_64.rpm file.

rpm -Uvh http://pkgs.repoforge.org/fuse-curlftpfs/fuse-curlftpfs-0.9.1-1.el6.rf.x86_64.rpm

Installation finish!. Now, let’s configure mounting network drive. In this case, we have ftp server with this detail;

FTP Server : ftpserver.ssh9.com
Username : ftpusername
Password : ftppassword

And we want mounting to /disk1 in localserver.

Create directory disk1 ;

mkdir disk1

Now, Mounting it.

curlftpfs -v -o allow_other -o user="ftpusername:ftppassword" ftpserver.ssh9.com disk1/

Check mounting will work ;

cd /disk1
ls -l

Try to copy some file to directory /disk1, and check the ftp server.

Here the Option for curlftpfs

    ftpfs_debug         print some debugging information
    transform_symlinks  prepend mountpoint to absolute symlink targets
    disable_epsv        use PASV, without trying EPSV first
    skip_pasv_ip        skip the IP address for PASV
    ftp_port=STR        use PORT with address instead of PASV
    disable_eprt        use PORT, without trying EPRT first
    tcp_nodelay         use the TCP_NODELAY option
    connect_timeout=N   maximum time allowed for connection in seconds
    ssl                 enable SSL/TLS for both control and data connections
    ssl_control         enable SSL/TLS only for control connection
    ssl_try             try SSL/TLS first but connect anyway
    no_verify_hostname  does not verify the hostname (SSL)
    no_verify_peer      does not verify the peer (SSL)
    cert=STR            client certificate file (SSL)
    cert_type=STR       certificate file type (DER/PEM/ENG) (SSL)
    key=STR             private key file name (SSL)
    key_type=STR        private key file type (DER/PEM/ENG) (SSL)
    pass=STR            pass phrase for the private key (SSL)
    engine=STR          crypto engine to use (SSL)
    cacert=STR          file with CA certificates to verify the peer (SSL)
    capath=STR          CA directory to verify peer against (SSL)
    ciphers=STR         SSL ciphers to use (SSL)
    interface=STR       specify network interface/address to use
    krb4=STR            enable krb4 with specified security level
    proxy=STR           use host:port HTTP proxy
    proxytunnel         operate through a HTTP proxy tunnel (using CONNECT)
    proxy_anyauth       pick "any" proxy authentication method
    proxy_basic         use Basic authentication on the proxy
    proxy_digest        use Digest authentication on the proxy
    proxy_ntlm          use NTLM authentication on the proxy
    httpproxy           use a HTTP proxy (default)
    socks4              use a SOCKS4 proxy
    socks5              use a SOCKS5 proxy
    user=STR            set server user and password
    proxy_user=STR      set proxy user and password
    tlsv1               use TLSv1 (SSL)
    sslv3               use SSLv3 (SSL)
    ipv4                resolve name to IPv4 address
    ipv6                resolve name to IPv6 address
    utf8                try to transfer file list with utf-8 encoding
    codepage=STR        set the codepage the server uses
    iocharset=STR       set the charset used by the client

And there is Fuse Option’s

    -d   -o debug          enable debug output (implies -f)
    -f                     foreground operation
    -s                     disable multi-threaded operation

    -o allow_other         allow access to other users
    -o allow_root          allow access to root
    -o nonempty            allow mounts over non-empty file/dir
    -o default_permissions enable permission checking by kernel
    -o fsname=NAME         set filesystem name
    -o subtype=NAME        set filesystem type
    -o large_read          issue large read requests (2.4 only)
    -o max_read=N          set maximum size of read requests

    -o hard_remove         immediate removal (don't hide files)
    -o use_ino             let filesystem set inode numbers
    -o readdir_ino         try to fill in d_ino in readdir
    -o direct_io           use direct I/O
    -o kernel_cache        cache files in kernel
    -o [no]auto_cache      enable caching based on modification times (off)
    -o umask=M             set file permissions (octal)
    -o uid=N               set file owner
    -o gid=N               set file group
    -o entry_timeout=T     cache timeout for names (1.0s)
    -o negative_timeout=T  cache timeout for deleted names (0.0s)
    -o attr_timeout=T      cache timeout for attributes (1.0s)
    -o ac_attr_timeout=T   auto cache timeout for attributes (attr_timeout)
    -o intr                allow requests to be interrupted
    -o intr_signal=NUM     signal to send on interrupt (10)
    -o modules=M1[:M2...]  names of modules to push onto filesystem stack

    -o max_write=N         set maximum size of write requests
    -o max_readahead=N     set maximum readahead
    -o async_read          perform reads asynchronously (default)
    -o sync_read           perform reads synchronously
    -o atomic_o_trunc      enable atomic open+truncate support
    -o big_writes          enable larger than 4kB writes
    -o no_remote_lock      disable remote file locking

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>