一、FTP的介绍。
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。-----来自百度百科
二、环境介绍。
Centos 7.0系统。
三、安装过程。
安装vsftpd: yum install vsftpd -y
启动vsftpd: systemctl start vsftpd
设置开机启动:systemctl enable vsftpd
创建ftp根目录: mkdir -p /ftpserver
四、配置过程
设置配置文件:vim /etc/vsftpd/vsftpd.conf
listen=NO // 如此条改为了,等于YES也行
listen-address=172.16.0.236 // 绑定本机IP
#禁止匿名访问
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_list_enable=NO // 不允许用户离开自己的主目录
chroot_list_file=/etc/vsftpd.chroot_list // 虚拟用户列表,每行一个用户名
local_enable=YES // 允许本地用户访问
write_enable=YES // 允许本地用户写入
local_umask=022 // 上传后的文件的默认掩码
chroot_local_user=YES // 禁止本地用户离开自己的主目录
pam_service_name=vsftpd.vu // 权限验证需要的加密文件
guest_enable=YES // 开启虚拟用户功能
guest_username=ftp // 虚拟用户的宿主目录
virtual_use_local_privs=YES // 用户登录后操作目录和本地用户权限一样
user_config_dir=/etc/vsftpd/vconf // 虚拟用户主目录设置文件
allow_writeable_chroot=YES // 允许写入用户主目录,这条特别重要
新建用户
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
passwd ftpuser 设置密码
vi /etc/vsftpd/chroot_list 编辑文件chroot_list(内容为ftp用户名,每个用户占一行)
启动ftp,设置开机自启动。
chkconfig vsftpd on
service vsftpd start
关闭防火墙和SELinux
systemctl stop fitewalld
systemctl disable firewalld
vi /etc/selinux/config 修改 SELINUX=disabled