基于centOS 7上的FTP服务器搭建

1. 安装

sudo yum -y install vsftpd 

2. 防火墙设置

sudo firewall-cmd --permanent --zone=public --add-service=ftp

sudo firewall-cmd --reload

 

3. 登录配置

 3. 1 匿名登录

 

匿名登录:用户登录到时不需要用户名和密码,可直接进入FTP服务器;

默认的用户为ftp用户,密码为空;

默认可以访问服务器的 /var/ftp目录。

在/var/ftp 目录下有一个pub文件夹,若想上传文件到该目录下,则需要修改pub目录的所属组用户信息和目录的权限信息;

若要上传目录到当前根目录(即:/var/ftp)下,则需修改ftp目录的组用户信息和权限信息;这里以pub目录为例:

修改目录的所属组用户信息:sudo chown -R ftp:ftp /var/ftp/pub

修改目录的权限信息:sudo chmod -R 777 /var/ftp/pub

  至此,匿名登录配置完成,可以通过,可以通过如下方式进行ftp服务器的启动,关闭和重启服务。

启动: sudo systemctl start vsftpd.service  
关闭: sudo systemctl stop vsftpd.service 
重启: sudo systemctl restart vsftpd.service
设置开机自启动: sudo systemctl enable vsftpd.service

 

 

3.2 本地用户登录

 本地用户登录:使用ftp服务器中已经添加的用户进行登录

  修改 /etc/vsftpd/vsftpd.conf文件如下:

anonymous_enable=NO    #禁止匿名访问


#使ftp用户始终在项目部署的根目录范围内,禁止访问系统其它文件
chroot_local_user=YES    #打开注释
chroot_list_enable=YES    #打开注释
chroot_list_file=/etc/vsftpd/chroot_list    #打开注释
allow_writeable_chroot=YES    #添加

如果/etc/vsftpd/chroot_list文件不存在,则需要创建该文件/etc/vsftpd/chroot_list, 并在其中加入ftp服务器的主机里已经存在的用户, 如testftp

sudo touch /etc/vsftpd/chroot_list  

sudo echo "testftp" >> /etc/vsftpd/chroot_list
启动: sudo systemctl start vsftpd.service  
关闭: sudo systemctl stop vsftpd.service 
重启: sudo systemctl restart vsftpd.service
设置开机自启动: sudo systemctl enable vsftpd.service

然后就可以访问ftp服务器了,输入证明的用户名和密码即可。

你可能感兴趣的:(CentOS)