#debian8安装只须要apt-get install vsftpd,而后用户新建普通用户便可,useradd -d /home/test(记得mkdir并chown权限) test\ passwd test,wirte_able=yes便可,若是遇到“读取目录列表失败”,在vsftpd配置文件增长以下并作映射:
pasv_min_port=5555
pasv_max_port=5566
apache
1.经过yum来安装vsftpdvim
[root@localhost ~]# yum -y install vsftpd
加-y是由于出现提示默认直接按Y。这里yum安装的vsftpd版本应该是2.2.2的。安全
[root@localhost ~]# service vsftpd status //查看状态,默认是关闭的 [root@localhost ~]# service vsftpd start //开启vsftpd服务
2.设置为开机启动服务器
[root@localhost ~]# chkconfig vsftpd on
3.进行相关配置,配置修改在/etc/vsftpd/vsftpd.conf里面;网络
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
用vim对代码着色更容易修改。比vi要清楚。本身按照需求进行设置,请看下面的vsftpd.conf的相关配置说明。session
4.设置vsftp的账号。ide
普通的添加账号的话,能够用该账号登陆服务器,使用nologin禁止FTP账户登陆服务器。网站
只须要执行命令:spa
[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin 用户名
添加上账号指定好ftp账号的根目录。例以下面的代码,建立ftp账号ftpuser在网站的根目录htdocs下。日志
[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin ftpuser
账号设置好了,可是尚未给账号加上密码。使用passwd给账号设置密码。
[root@localhost ~]# passwd ftpuser New password: //输入密码 Retype new password: //再次输入密码
输入好了就能够经过账号密码来访问vsftpd了。
vsftpd.conf的相关配置说明:(下面这段摘抄自网络。)
1) 匿名服务器的链接
Anonymous_enable=yes (容许匿名登录)
Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据链接)*
Xferlog_enable=yes (激活上传和下载的日志)
Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*
功能:只能链接FTP服务器,不能上传和下载
注:其中全部和日志欢迎信息相关连的都是可选项,打了星号的不管什么账户都要添加,是属于FTP的基本选项
2)开启匿名FTP服务器上传权限(看看便可,通常不开启匿名上传权限)
Anon_upload_enable=yes (开放上传权限)Anon_mkdir_write_enable=yes (可建立目录的同时能够在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名账号能够有删除的权限)
3)开启匿名服务器下载的权限
在配置文件中添加以下信息便可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名账户是其它(other)用户要开启它的读写执行的权限
(R)读,下载 (W)写,上传 (X)执行。若是不开FTP的目录都进不去
4)普通用户FTP服务器的链接
Local_enble=yes (本地账户可以登录)
Write_enable=no (本地账户登录后无权删除和修改文件)
功能:能够用本地账户登录vsftpd服务器,有下载上传的权限
注:在禁止匿名登录的信息后匿名服务器照样能够登录但不能够上传下载
5) 用户登录限制进其它的目录,只能进它的主目录
设置全部的本地用户都执行chroot
Chroot_local_user=yes (本地全部账户都只能在自家目录)
设置指定用户执行chrootChroot_list_enable=yes (文件中的名单能够调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:vsftpd.chroot_list 是没有建立的须要本身添加,要想控制账号就直接在文件中加账号便可
chroot_list_enable(想要ftp IP进入服务器后pwd显示为/,那就得给下面的参数配上)
若是激活,你要提供一个用户列表,表内的用户将在登陆后被放在其home目录,锁定在虚根下(daidong注:进入FTP后,PWD一下,能够看到当前目录是"/",这就是虚根。是FTP的根目录,并不是FTP服务器系统的根目录)。若是chroot_local_user设为YES后,其含义会发生一点变化。
在这种状况下,这个列表内的用户将不被锁定在虚根下。
默认状况下,这个列表文件是/etc/vsftpd.chroot_list, 但你也能够经过修改chroot_list_file来改变默认值。
默认值:NO
allow_writeable_chroot=YES#chroot_list_enable和vsftpd.chroot_list配置上之后,若是不配上这个会报错大体意思就是配置权限低,而目录权限高,这样配上就匹配了
6) 限制本地用户访问FTP
Userlist_enable=yes (用userlist来限制用户访问)
Userlist_deny=no (名单中的人不容许访问)
Userlist_file=/指定文件存放的路径/ (文件放置的路径)
注:开启userlist_enable=yes匿名账号不能登录
7)安全选项
Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
Data_connection_timeout=120(秒) (将数据链接空闲2分钟断)
Accept_timeout=60(秒) (将客户端空闲1分钟后断)
Connect_timeout=60(秒) (中断1分钟后又从新链接)
Local_max_rate=50000(bite) (本地用户传输率50K)
Anon_max_rate=30000(bite) (匿名用户传输率30K)
Pasv_min_port=50000 (将客户端的数据链接端口改在
Pasv_max_port=60000 50000—60000之间)
Max_clients=200 (FTP的最大链接数)
Max_per_ip=4 (每IP的最大链接数)
Listen_port=5555 (从5555端口进行数据链接)
8) 查看谁登录了FTP,并杀死它的进程
ps –xf |grep ftp
kill 进程号