小记:写这篇博客的目的在于,我这几天翻了《鸟哥》1 2版本,加上网上搜了很多资料之后,才配置好vsftpd服务器,基本上网上的教程都不太全,有的还不靠谱。
安装环境: Ubuntu 14.04
安装vsftpd
首先安装很简单,安装命令大家也都熟悉:
sudo apt-get install vsftpd
注意看是否安装成功,然后找到vsftpd.conf
文件。
这个文件的位置一般都是/etc/vsftpd/vsftpd.conf
,但是我的Ubuntu 14.04下面,安装完之后文件位置是/etc/vsftpd.conf
,不管在哪里,只要能找到就可以。
配置vsftpd.conf
这个非常重要!因为vsftpd非常小,所以基本上所有设置都是在这个配置文件里配置的。
先看下比较重要的一些设置:
anonymous_enable=NO //是否允许匿名登录,我这里不允许,有需要的可以设置为允许
local_enable=YES //是否允许本地用户登录,根据自己的选择
write_enable=YES //允许用户上传数据的话,要启用这个
local_umask=022 //上传文件的默认属性(读写属性)022是755
use_localtime=YES //这个是为了使用本地时间
chroot_local_user=YES //这个是chroot的功能,开始限制用户限制他在自己的主目录里。
chroot_list_enable=YES //上面开启之后这个是开启list的功能
chroot_list_file=/etc/vsftpd.chroot_list //这个是list的位置,里面放的是白名单,这个名单里的用户不需要限制在用户根目录里。
local_root=/media/public //这个是让用户登录的时候显示的目录
allow_writeable_chroot=YES //这个是在用户登录的时候显示会说不允许用户在登录的时候该文件夹有可写权限的话,禁止登录。
以上是一些关键配置。
重启vsfptd服务
service vsftpd restart
关键命令
ftp
这个连接ftp服务器的时候使用的,直接 ftp server_ip 就可以了。
get
这个是下载文件使用的,使用方法比较简单,get file local_file 就可以了。即使不用local_file行。
put
这个是上传文件,记得上传的时候,server端的文件夹要有可写权限的。put local_file server_file
cd
这个很简单,就是进入文件夹的命令。
配置vsftpd用户
设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。
useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
passwd ftpuser1
这样就可以了。后面有配置的在添加。
登录到ftp
我们登录ftp服务器的时候,只用在终端里输入:
ftp server_ip // server_ip换成你自己服务器的ip 本地用localhost
下载文件
- 下载单个文件
下载单个文件的时候,只用使用get
命令就可以了。
get filename local_path
//filename 是文件名字
//local_path 是本地地址
例如:
get 1.jpg ~/Desktop/
就可以了。
- 下载文件夹
这个要使用mget
例如:
mget *
这样就是把当前文件夹所有文件都下载下来,不过好像没办法递归子文件夹。
下载每个文件需要询问一次,点击Y确认
使用
prompt off
关掉提示即可。
上传文件
- 单个文件/多个文件
使用put
命令上传单个文件,使用mput
上传多个文件。