FTP部署与使用

1.1 环境检查

[root@www ~]# cat /etc/redhat-release     #系统版本,6系列等区别不大,都可以
CentOS Linux release 7.5.1804 (Core)
[root@www ~]# uname -r
3.10.0-862.9.1.el7.x86_64
[root@www ~]# systemctl status firewalld  #关闭防火墙
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@www ~]# getenforce                  #检查selinux是否关闭
Disabled

1.2 安装并配置

#直接粘贴配置就可以使用

[root@www ~]# yum -y install vsftpd                #直接yum安装
[root@www ~]# cd /etc/vsftpd/        
[root@www vsftpd]# cp vsftpd.conf vsftpd.conf.bak  #编辑配置文件前一定记得备份,养成好习惯
[root@www ~]# vim /etc/vsftpd/vsftpd.conf          #编辑主配置文件
#开启匿名
anonymous_enable=no
#--------------------本地用户权限设置------------------------------
#本地账户可以登录
local_enable=YES
#本地帐户登陆后可以删除和修改文件
write_enable=NO
#允许锁定的用户有写的权限
allow_writeable_chroot=yes
#当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录
local_root=/data/sprixin
#ftp上本地文件权限
local_umask=022
#本地用户上传档案后的档案权限,与chmod 所使用的数值相同。默认值为0666
file_open_mode=0755
pam_service_name=vsftpd
#--------------------控制用户是否允许切换到上级目录---------------
#设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_list_enable=no
#用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
chroot_list_file=/etc/vsftpd.chroot_list
#用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
chroot_local_user=YES
#---------------------欢迎语设置-----------------------------------
#访问ftp时的说明文件
dirmessage_enable=NO
#设置目录消息文件,可将要显示的信息写入该文件。默认值为.message。
message_file=.message
#当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明.
banner_file=/etc/vsftpd/banner
#---------------------日志文件设置---------------------------------
#启用上传和下载的日志S
xferlog_enable=YES
#使用标准的日志格式
xferlog_std_format=yes
#日志路径
xferlog_file=/var/log/vsftpd.log
#如果启用此选项,所有的FTP请求和响应都会被记录到日志中,默认日志文件在/var/log/vsftpd.log。启用此选项时,xferlog_std_format不能被激活。这个选项有助于调试。默认值为NO。
#log_ftp_protocol=YES
#---------------------FTP工作方式与端口设置-------------------------
#启用ftp数据端口的数据连接
connect_from_port_20=YES
#设置FTP服务器建立连接所监听的端口,默认值为21。
listen_port=21
#将客户端的数据连接端口改在50000—60000之间
#在PASV工作模式下,数据连接可以使用的端口范围的最大端口,0 表示任意端口。默认值为0。
pasv_min_port=50000
# 在PASV工作模式下,数据连接可以使用的端口范围的最小端口,0 表示任意端口。默认值为0。
pasv_max_port=60000
#若设置为YES,则使用PASV工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式
pasv_enable=YES
#----------------------与连接相关的设置------------------------------
#设置vsftpd服务器是否以standalone模式运行
listen=YES
#以下只有在standalone模式运行才有效
# (ftp的最大连接数)
max_clients=200
# (每ip的最大连接数) 
max_per_ip=0
#设置每个与FTP服务器的连接,是否以不同的进程表现出来
setproctitle_enable=YES
#------------------------访问控制------------------------------------
#两种控制方式:一种控制主机访问,另一种控制用户访问。
tcp_wrappers=YES
#配合系统的文件进行访问控制,类似简易防火墙,限制访问(/etc/hosts.allow,/etc/hosts.deny)
userlist_enable=NO
#是否启用用户控制文件
userlist_file=/etc/vsftpd.user_list
#控制用户访问FTP的文件,里面写着用户名称。一个用户名称一行。
userlist_deny=NO
#若设置为YES,则vsftpd.user_list文件中的用户不允许访问FTP,若设置为NO,则只有vsftpd.user_list文件中的用户才能访问FTP。
#-----------------------访问速率------------------------------------
#本地用户使用的最大传输速度,单位为B/s,0 表示不限制速度。预设值为0。
#下载速度9M
local_max_rate=10000000
#-----------------------超时时间设置-------------------------------
# (用户会话空闲后10分钟)                                                                 
idle_session_timeout=600
#  (将数据连接空闲2分钟断)
data_connection_timeout=120
#  (将客户端空闲1分钟后断)
accept_timeout=60
#  (中断1分钟后又重新连接)
connect_timeout=60
#----------------------数据传输模式设置----------------------------
#FTP在传输数据时,可以使用二进制方式,也可以使用ASCII模式来上传或下载数据。
ascii_upload_enable=NO
#设置是否启用ASCII 模式上传数据。默认值为NO。
ascii_download_enable=NO
#设置是否启用ASCII 模式下载数据。默认值为NO。
#-----------------------其他设置-----------------------------------------
#显示用户名和组名
text_userdb_names=YES
#不可以查看当前目录下子目录中的文件
ls_recurse_enable=NO
#如果设置为NO,所有的文件都不能下载到本地,文件夹不受影响。默认值为YES。
download_enable=NO

#创建ftp用户

[root@www vsftpd]# useradd ftpuser -s /sbin/nologin   #禁止登录系统
[root@www vsftpd]# passwd ftpuser        #设置ftpuser密码,我这里是123456输入两次
Changing password for user ftpuser.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

#ftp用户加入user_list允许访问

[root@www vsftpd]# echo ftpuser >>/etc/vsftpd/user_list  
[root@www vsftpd]# echo ftpuser >>/etc/vsftpd/chroot_list

#启动vsftpd

[root@www vsftpd]# systemctl start vsftpd
[root@www vsftpd]# netstat -lntup|grep 21  #检查是否监听
tcp6       0      0 :::21           :::*           LISTEN      13837/vsftpd

1.3 使用浏览器访问或者ftp工具

浏览器输入:ftp://IP地址   输入账号:ftpuser   密码:123456

猜你喜欢

转载自www.cnblogs.com/blsnt/p/9582149.html