搭建ftp文件系统服务器
Ubuntu安装配置:
1.安装:sudo apt-get install vsftpd
2.编辑配置文件:[vim /etc/vsftpd.conf] 可以使用以下配置
注意代码中不可有TAB,或空格,会影响Ftp启动
#这些设置系统默认是开启的,可以不管 listen=NO listen_ipv6=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES #是否允许匿名访问,NO为不允许 anonymous_enable=NO #是否允许本地用户访问,就是linux本机中存在的用户,YES允许 local_enable=YES #是否开启写模式,YES为开启 write_enable=YES #新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755 local_umask=022 #是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用 userlist_enable=YES #是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能 userlist_deny=NO #指定哪个文件作为userlist文件,我们稍后编辑这个文件 userlist_file=/etc/vsftpd.user_list #是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦 chroot_local_user=YES #是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外 chroot_list_enable=YES #设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录 chroot_list_file=/etc/vsftpd.chroot_list #是否开启写模式,开启后可以进行创建文件夹等写入操作 allow_writeable_chroot=YES #设置ftp根目录的位置,不存在创建 local_root=/home/ftp
3.用户配置:
添加用户:
sudo useradd -d /home/ftp ftpuser
设置用户密码:
sudo passwd ftpuser
4.创建需要的文件,设置文件夹权限:
userlist文件和list文件,有时候系统不会自动创建,你要自己创建
vim /etc/vsftpd.user_list 然后添加ftpuser进去作为白名单的一员
vim /etc/vsftpd.chroot_list 设为空即可
mkdir /home/ftp 创建用户文件夹,设置权限
创建文件夹:一个download只允许读取,upload允许写和读
chmod 555 /home/ftp cd /home/ftp mkdir upload chmod 755 upload mkdir download chmod 555 download
5.访问:
开启/关闭 重启 查看启动状态
systemctl start/stop vsftpd.service
systemctl restart vsftpd.service
systemctl status vsftpd.service
Linux访问:ftp xxx.xxx.xxx.xxx
浏览器访问:ftp://xxx.xxx.xxx.xxx
自定义高级配置:
[自定义高级配置] 1.vsftpd系统欢迎消息设置 ftpd_banner=Welcome to ftp.netseek.com , Yeah!!! 2.FTP服务端口的指定 listen_port=8021 ,指定命令通道为8021,默认为21 listen_data_port=8020 ,指定数据通道为8020,默认为20 3.上传模式的设置 pasv_enable=YES ,是否允使用被动模式,默认是允许的。 pasv_min_port=10000 ,指定使用被动模式时打开端口的最小值 pasv_max_port=10004 ,指定使用被动模式时打开端口的最大值。 4.vsftpd服务器的流量控制 max_clients=100 ;允许的最大连接数,定义为100,默认为0,表没有限制 max_per_ip=5 ;每个IP允许的连接数,0表没有限制,需要运行于独立模式方可 anon_max_rate=50000 ;匿名用户最大带宽,单位为bps local_max_rate=200000 ;系统用户最大带宽
FTP数字代码的意义:
110 |
重新启动标记应答。 |
120 |
服务在多久时间内ready。 |
125 |
数据链路端口开启,准备传送。 |
150 |
文件状态正常,开启数据连接端口。 |
200 |
命令执行成功。 |
202 |
命令执行失败。 |
211 |
系统状态或是系统求助响应。 |
212 |
目录的状态。 |
213 |
文件的状态。 |
214 |
求助的讯息。 |
215 |
名称系统类型。 |
220 |
新的联机服务ready。 |
221 |
服务的控制连接端口关闭,可以注销。 |
225 |
数据连结开启,但无传输动作。 |
226 |
关闭数据连接端口,请求的文件操作成功。 |
227 |
进入passive |
mode。 |
|
230 |
使用者登入。 |
250 |
请求的文件操作完成。 |
257 |
显示目前的路径名称。 |
331 |
用户名称正确,需要密码。 |
332 |
登入时需要账号信息。 |
350 |
请求的操作需要进一部的命令。 |
421 |
无法提供服务,关闭控制连结。 |
425 |
无法开启数据链路。 |
426 |
关闭联机,终止传输。 |
450 |
请求的操作未执行。 |
451 |
命令终止:有本地的错误。 |
452 |
未执行命令:磁盘空间不足。 |
500 |
格式错误,无法识别命令。 |
501 |
参数语法错误。 |
502 |
命令执行失败。 |
503 |
命令顺序错误。 |
504 |
命令所接的参数不正确。 |
530 |
未登入。 |
|
|
532 |
储存文件需要账户登入。 |
550 |
未执行请求的操作。 |
551 |
请求的命令终止,类型未知。 |
552 |
请求的文件终止,储存位溢出。 |
|
|
553 |
未执行请求的的命令,名称不正确。 |
FTP启动失败问题解决[注意检查配置文件空格]: