1..FTP服务器有什么用
.FTP服务器是能够提供文件存储、访问的计算机,实现了文件共享。
2.FTP是什么
FTP是File Transfer Protocol(文件传输协议),是一种基于TCP的协议,采用客户/服务器模式。
3.FTP工作模式
FTP协议有PORT和PASV两种工作模式,即主动模式和被动模式。
不管哪种模式都是先建立客户端和服务器端的控制连接,然后在需要的时候建立数据连接进行数据传输。FTP工作模式的视频演示见FTP的工作模式。
4.Linux服务器下搭建FTP服务器
一、安装vsftpd服务(1)安装ftp服务端--vsftpd
yum -y installed vsftpd
(2)验证vsftpd是否验证成功及查看其版本
vsftpd -v
(3)管理vsftpd服务
启动vsftpd服务:systemctl start vsftpd
停止vsftpd服务:systemct stop vsftpd
重启vsftpd服务:systemctl restart vsftpd
二、新增ftp用户(1)创建ftp用户并设置密码
创建用户:useradd ftptest
设置密码:passwd ftptest
当未给新创建的用户分配用户组时,会默认生成与新用户名称一致的用户组,即上述用户ftptest,属于ftptest用户组。
(2)配置ftp用户只能通过ftp方式进行登陆,即不能通过ssh登陆
禁止ftptest用户使用ssh登陆:usermod -s /sbin/nologin ftptest
恢复ftptest用户使用ssh登陆:usermod -s /bin/bash ftptest
通过passwd文件,可以查看用户登录方式。cat /etc/passwd
三、修改FTP的配置文件(1)配置文件位置:/etc/vsftpd/vsftpd.conf,修改内容:
anonymous_enable=NO
chroot_local_user=YES
local_root=/data
allow_writeable_chroot=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
user_config_dir=/etc/vsftpd/userconfig
pasv_min_port=60000
pasv_max_port=60100
(2)防火墙中开放相应端口
firewall-cmd --zone=public --add-port=60000-60100/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd? --reload?
firewall-cmd --zone=public --list-ports
(3)配置可以登录ftp用户
vim /etc/vsftpd/user_list
(4)设置ftp用户登录后可以独立访问的目录
mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/ftptest
local_root=/data/ftptest
重启vsftpd服务:systemctl restart vsftpd
(5)设置ftp用户独立访问目录的权限
chmod 777 -R /data/ftptest
chown -R ftptest:ftptest /data/ftptest