当前位置: 首页 > Linux

阿里云服务器配置开发环境第六章:Centos7.3安装vsftpd

时间:2023-04-07 02:05:49 Linux

什么是vsftpd?简介vsftpd是“verysecureFTPdaemon”的缩写,是一款完全免费开源的FTP服务器软件。特点vsftpd是Linux发行版中最受尊敬的FTP服务器程序。它体积小、重量轻、安全且易于使用。支持虚拟用户支持带宽限制等功能grepvsftpd可以通过这个查看是否安装了vsftpd#3.默认的配置文件在/etc/vsftpd/vsftpd.conf中创建了一个虚拟用户,选择在home目录下创建一个ftp文件夹(vsftpd2.5版本不允许在根目录创建文件夹有写权限,这个坑我花了好几天)cd/mdftpfile添加匿名用户useraddftpuser-d/ftpfile-s/sbin/nologin修改ftpfile权限chown-Rftpuser.root/ftpfileresetftpuserpasswordpasswdftpuserconfigurevsftpdcd/etc/vsftpdsudovichroot_list#把新添加的虚拟用户加入到这个配置文件中写入ftpuser保存退出。sudovivsftpd.conf#在最后添加如下配置。注意不要有重复的配置项,否则会启动失败。local_root=/ftpfile#(当本地用户登录时,会更改为定义的目录,默认值为每个用户的home目录)anon_root=/ftpfile#(使用匿名登录时登录的目录)use_localtime=YES#(默认是GMT时间,改为使用本机系统时间)anonymous_enable=NO#(不允许匿名用户登录)local_enable=YES#(允许本地用户登录)write_enable=YES#(本地用户local_umask=022#(本地用户添加文件时的umask值)dirmessage_enable=YES#(如果启用这个选项,用户输入一个创建目录时,会检查目录中是否有.message文件。如果有,就会出现这个文件的内容。通常,这个文件会放置一条欢迎信息,或者目录的描述。默认值是enabled)xferlog_enable=YES#(是否开启上传/下载日志记录,如果开启,上传和下载信息将被完整记录在xferlog_file定义的文件中。默认是开启。)connect_from_port_20=YES#(指定FTP使用20端口进行数据传输,默认值为YES)xferlog_std_format=YES#(如果启用,日志文件将以xferlog的标准格式写入)ftpd_banner=WelcometoHelloWordFTPServer#(用于在这里定义欢迎词)chroot_local_user=NO#(用于指定是否允许用户列表文件中的用户切换到父目录)chroot_list_enable=YES#(设置是否启用chroot_list_file配置项指定的用户列表文件)chroot_list_file=/etc/vsftpd/chroot_list#(用来指定用户列表文件)listen=YES#(设置vsftpd服务器是否运行在standalone模式,standalone模式运行是比较好的方式,此时listen必须设置为是,这是默认值。建议不要更改。有很多与服务器运行相关的配置命令,需要在该模式下生效。如果设置为NO,vsftpd将不会作为一个独立的服务运行,而会被xinetd服务所控制,其功能会受到限制)pam_service_name=vsftpd#(虚拟用户使用PAM认证方式,这里是使用的名字设置PAM,默认即可,对应/etc/pam.d/vsftpd)userlist_enable=YES(是否启用vsftpd.user_list文件,黑名单,白名单都可以allow_writeable_chroot=YES#如果启用则限制用户到自己家pasv_min_port=61001#(被动模式使用最小端口范围)pasv_max_port=62000#(被动模式使用最大端口范围)pasv_enable=YES#如果设置为YES,则使用PASV工作模式;如果设置为NO,使用PORT模式。默认值为YES,即使用PASV工作模式。#FTP协议有两种工作模式:PORT模式和PASV模式,中文意思是主动和被动。#1.连接过程PORT(主动)模式是:客户端向服务器的FTP端口(默认为21)发送连接请求,服务器接受连接,并建立命令链接。#当需要传输数据时,客户端在命令链接上使用PORT命令告诉服务器:“我已经打开了****端口,你来连接我吧。”于是服务端从20端口向客户端的****端口发送连接请求,创建一个数据链路来传输数据。#2、PASV(被动)模式的连接过程是:客户端向服务器的FTP端口(默认为21)发送连接请求,服务器接受连接,建立命令链接。#当需要传输数据时,服务器端在命令链接上使用PASV命令告诉客户端:“我已经打开了****端口,你来连接我吧。”于是客户端向服务器的****端口发送连接请求,以建立数据链路的方式传输数据。#从上面可以看出,两种方式的命令链接连接方法是一样的,但是数据链接的建立方法是完全不同的。这就是FTP的复杂性。#重启服务systemctlrestartvsftpd.servicesudovi/etc/selinux/config#更改为SELINUX=disabled#:wq!#注意:如果验证时遇到550accessdenied,请执行:sudosetsebool-Pftp_home_dir1然后重启linuxServer,执行reboot命令#本地测试yuminstallftp-yftplocalhostfirewallconfigurationsudovi/etc/sysconfig/iptables-AINPUT-pTCP--dport61000:62000-jACCEPT-AOUTPUT-pTCP--sport61000:62000-jACCEPT-AINPUT-pTCP--dport20-jACCEPT-AOUTPUT-pTCP--sport20-jACCEPT-AINPUT-pTCP--dport21-jACCEPT-AOUTPUT-pTCP--sport21-jACCEPT#将以上配置添加到防火墙配置中#:wqsaveandexitsudoserviceiptablesrestart#执行命令重启防火墙