CentOS7安装FTP教程
-
首先安装vsftpd
yum -y install vsftpd
-
修改配置文件
vim /etc/vsftpd/vsftpd.conf
#是否允许匿名,默认no anonymous_enable=NO #这个设定值必须要为YES 时,在/etc/passwd内的账号才能以实体用户的方式登入我们的vsftpd主机 local_enable=YES #具有写权限 write_enable=YES #本地用户创建文件或目录的掩码 local_umask=022 #当dirmessage_enable=YES时,可以设定这个项目来让vsftpd寻找该档案来显示讯息!您也可以设定其它档名! dirmessage_enable=YES #当设定为YES时,使用者上传与下载日志都会被纪录起来。记录日志与下一个xferlog_file设定选项有关 xferlog_enable=YESxferlog_std_format=YES #上传与下载日志存放路径 xferlog_file=/var/log/xferlog #开启20端口 connect_from_port_20=YES #关于系统安全的设定值: #ascii_download_enable=YES(NO) #如果设定为YES ,那么 client 就可以使用 ASCII 格式下载档案。 #一般来说,由于启动了这个设定项目可能会导致DoS 的攻击,因此预设是NO。 #ascii_upload_enable=YES(NO) #与上一个设定类似的,只是这个设定针对上传而言!预设是NO。 ascii_upload_enable=NO ascii_download_enable=NO #通过搭配能实现以下几种效果: #①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。 #②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。 #③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。 #④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #这个是pam模块的名称,我们放置在/etc/pam.d/vsftpd pam_service_name=vsftpd #当然我们都习惯支持TCP Wrappers的啦! tcp_wrappers=YES #不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot() allow_writeable_chroot=YES #ftp的端口号 listen_port=60021 #启动被动式联机(passivemode) pasv_enable=YES #上面两个是与passive mode 使用的 port number 有关,如果您想要使用65400到65410 这 11 个 port 来进行被动式资料的连接,可以这样设定 pasv_min_port=65400 pasv_max_port=65410 #FTP访问目录为用户根目录 local_root=/data/ftp/
-
关闭防火墙(测试环境)
这要是测试环境可以先关闭防火墙
systemctl stop firewalld
如果是生产环境,最好开启防火墙,添加相应的端口
#添加主端口 [root@tsemongo01 vsftpd]# firewall-cmd --permanent --zone=public --add-port=60021/tcp success #添加被动端口 [root@tsemongo01 vsftpd]# firewall-cmd --permanent --zone=public --add-port=65400-65410/tcp success [root@tsemongo01 vsftpd]# firewall-cmd --reload success
-
创建用户
添加FTP用户命令 :
useradd xxx
设置FTP用户密码:
passwd xxx
删除FTP用户:
userdel xxx
-
切换为新用户并创建根目录
cd /home/xxx mkdir xxx
设置用户访问目录权限
chown -R xxx /home/xxx
-
启动或暂停服务命令
systemctl start vsftpd.service systemctl status vsftpd.service systemctl stop vsftpd.service
-
测试FTP是否能连上
ftp ip
-
设置vsftpd服务开机启动
systemctl enable vsftpd.service