Difference between revisions of "CurlFtpFS"

From ArchWiki
Jump to: navigation, search
(Example using curlftpfs to mount a FTP folder: _netdev !)
(add normal user mount and fix style)
Line 3: Line 3:
 
{{Expansion}}
 
{{Expansion}}
  
There are several packages available from the community repository or [[AUR]] that allow to mount FTP shares and interact with them just as if they were local file systems.
+
There are several packages available from the community repository or [[AUR]] that allow to mount FTP shares and interact with them just as if they were local file systems. It's advisable to use a ssl encrypted ftp connection at least for the control channel.
  
 
== Packages ==
 
== Packages ==
 
These are the packages that provide a way to mount FTP shares:
 
These are the packages that provide a way to mount FTP shares:
  
* curlftpfs [recommended]
+
* {{pkg|curlftpfs}} [recommended]
* fuseftp
+
* {{AUR|fuseftp}}
 
* lufs [outdated]
 
* lufs [outdated]
  
 
All three packages are based on FUSE library.
 
All three packages are based on FUSE library.
  
=== Example using curlftpfs to mount a FTP folder ===
+
== Using curlftpfs to mount a FTP folder ==
  
Install curlftpfs (from the community repo)
+
Install {{pkg|curlftpfs}} from the [[official repositories]]
# pacman -S curlftpfs
+
  
 
If needed, make sure that fuse has been started.
 
If needed, make sure that fuse has been started.
 
  # modprobe fuse
 
  # modprobe fuse
 +
 +
=== Mount as root ===
 
Create the mount point and then mount the FTP folder.
 
Create the mount point and then mount the FTP folder.
 
  # mkdir /mnt/ftp
 
  # mkdir /mnt/ftp
 
  # curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password
 
  # curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password
If you want regular user access, use the following instead:
+
If you want to give other (regular) users access right, use the {{ic|allow_other}} option:
 
  # curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password,allow_other
 
  # curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password,allow_other
Do not add space after the comma or the ''allow_other'' argument won't be recognized.
+
Do not add space after the comma or the {{ic|allow_other}} argument won't be recognized.
  
 
To use FTP in active mode add the option 'ftp_port=-':
 
To use FTP in active mode add the option 'ftp_port=-':
Line 34: Line 35:
 
  curlftpfs#USER:PASSWORD@ftp.domain.org /mnt/mydomainorg fuse auto,user,uid=1000,allow_other,_netdev 0 0
 
  curlftpfs#USER:PASSWORD@ftp.domain.org /mnt/mydomainorg fuse auto,user,uid=1000,allow_other,_netdev 0 0
  
To prevent the password to be shown in the process list, create a {{ic|.netrc}} file in the home directory of the user running curlftpfs and chmod 600 with the following content:
+
To prevent the password to be shown in the process list, create a {{ic|.netrc}} file in the home directory of the user running curlftpfs and {{ic|chmod 600}} with the following content:
  
 
  machine ftp.yourserver.com
 
  machine ftp.yourserver.com
 
  login username
 
  login username
 
  password mypassword
 
  password mypassword
 +
 +
=== Mount as normal user ===
 +
You can also mount as normal user (always use the {{ic|.netrc}} file for the credentials and ssl encryption!):
 +
$ mkdir ~/my-server
 +
$ curlftpfs -o ssl,utf8 ftp://my-server.tld/ ~/my-server
 +
if the answer is
 +
Error connecting to ftp: QUOT command failed with 500
 +
then the server does not support the {{ic|utf8}} option. Leave it out and all will be fine.

Revision as of 16:48, 6 January 2013

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:CurlFtpFS#)

There are several packages available from the community repository or AUR that allow to mount FTP shares and interact with them just as if they were local file systems. It's advisable to use a ssl encrypted ftp connection at least for the control channel.

Packages

These are the packages that provide a way to mount FTP shares:

All three packages are based on FUSE library.

Using curlftpfs to mount a FTP folder

Install curlftpfs from the official repositories

If needed, make sure that fuse has been started.

# modprobe fuse

Mount as root

Create the mount point and then mount the FTP folder.

# mkdir /mnt/ftp
# curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password

If you want to give other (regular) users access right, use the allow_other option:

# curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password,allow_other

Do not add space after the comma or the allow_other argument won't be recognized.

To use FTP in active mode add the option 'ftp_port=-':

# curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password,allow_other,ftp_port=-

You can add this line to /etc/fstab to mount automatically.

curlftpfs#USER:PASSWORD@ftp.domain.org /mnt/mydomainorg fuse auto,user,uid=1000,allow_other,_netdev 0 0

To prevent the password to be shown in the process list, create a .netrc file in the home directory of the user running curlftpfs and chmod 600 with the following content:

machine ftp.yourserver.com
login username
password mypassword

Mount as normal user

You can also mount as normal user (always use the .netrc file for the credentials and ssl encryption!):

$ mkdir ~/my-server
$ curlftpfs -o ssl,utf8 ftp://my-server.tld/ ~/my-server

if the answer is

Error connecting to ftp: QUOT command failed with 500

then the server does not support the utf8 option. Leave it out and all will be fine.