linux 快速搭建FTP服务器

一:安装vsftpd

查看是否已经安装vsftpd
rpm -qa | grep vsftpd
若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本
使用命令rpm -e vsftpd 即可卸载ftp
再使用rpm -qa|grep vsftpd 查看系统是否已删除ftp,若删除成功,屏幕上
如果没有,就安装,并设置开机启动
yum -y install vsftpd
chkconfig vsftpd on

二、配置防火墙

  • centos6的方式
    打开/etc/sysconfig/iptables文件
    vi /etc/sysconfig/iptables
    在REJECT行之前添加如下代码,就是把前面的复制一行改一下端口号
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    保存和关闭文件,重启防火墙
    service iptables restart
  • centos7的方式
    firewall-cmd --zone=public --add-port=21/tcp --permanent
    重启防火墙
    firewall-cmd --reload

三、配置vsftpd服务器

默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

顺便一提

在/etc/vsftpd/vsftpd.conf配置文件中
write_enable=yes,
anon_upload_enable=yes,
anon_mkdir_wirte_enable=yes,
这三个条件让匿名用户和虚拟用户具有可以上传的权限。

四、添加ftp用户并赋权限

  1. 添加ftpuser用户,设置根目录为/home/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
    useradd -d /home/data -g ftp -s /sbin/nologin ftpuser
  2. 设置用户口令
    passwd ftpuser
  3. 赋予用户文件夹权限
    chown ftpuser:root /home/data
    chmod -R 775 /home/data

五、编辑文件chroot_list:

vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
peter
john

设置ftp权限
setsebool -P allow_ftpd_full_access 1

六、重新启动vsftpd

  • centos6
    service vsftpd restart
  • centos7
    systemctl restart vsftpd

七、连接过程中可能会出现的错误

1、500 OOPS: cannot change directory:/home/**
解决方法:

在终端输入命令:



链接:https://www.jianshu.com/p/960904e86100
来源:简书
 

你可能感兴趣的:(linux)