FTP服务
简介
FTP服务用来传输文件的协议
FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式和被动模式
主动模式∶服务器主动发起数据连接
被动模式∶服务器被动等待数据连接
配置步骤
一》安装ftp服务,备份ftp服务的配置文件,它没有模板
yum install -y vsftpd
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak
二》修改配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 开启匿名用户访问。默认已开启
write_enable=YES 开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022 设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES 允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES 允许匿名用户创建(上传)目录。默认已注释,需取消注释
non_other_write_enable=YES 允许删除、重命名、覆盖等操作。需添加
为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户上传数据
chmod 777 /var/ftp/pub/
三》开启服务,关闭防火墙和增强型安全功能
systemctl start vsftpd
systemctl stop firewalld
setenforce 0
四》匿名访问测试
在Windows系统打开 开始 菜单,输入cmd命令打开命令提示符
建立ftp连接 ftp 192.168.150.20
匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
ftp>pwd 匿名访问ftp的根目录为Linux系统的/var/ftp/目录 ftp>ls 查看当前目录 ftp>cd pub 切换到pub目录 ftp>get 文件名 下载文件到当前windows本地目录 ftp>put 文件名 上传文件到ftp目录 ftp>quit 退出
五》设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
修改配置文件
vim /etc/vsftpd/vsftpd.conf local_enable=Yes 启用本地用户 anonymous_enable=NO 关闭匿名用户访问 write_enable=YES 开放服务器的写权限(若要上传,必须开启) local_umask=077 可设置仅宿主用户拥有被上传的文件的权限(反掩码) chroot_local_user=YES 将访问禁锢在用户的宿主目录中 allow_writeable_chroot=YES 允许被限制的用户主目录具有写权限
六》重启服务
systemctl_restart vsftpd
ftp 192.168.150.20 或 ftp://AAA@192.168.150.20
补充:
修改匿名用户、本地用户登录的默认根目录
anon_root=/var/www/html anon_root针对匿名用户 local_root=/var/www/html local_root针对系统用户
使用user list用户列表文件
vim /etc/vsftpd/user_list 末尾添加zhangsan用户 zhangsan vim /etc/vsftpd/vsftpd.conf userlist_enable=YES 启用user list用户列表文件 userlist_deny=NO 设置白名单,仅允许user list用户列表文件的用户访问。默认为YES,为黑名单,禁用