ftp有两种工作模式:主动传输(active)、被动传输(passive)
ftp有三种用户模式:本地用户、匿名用户、虚拟用户
一、安装、启动ftp
rpm -qa | grep vsftpd
rpm -qa | grep ftp
yum install -y vsftpd ftp
systemctl stop firewalld
set enforce 0
二、认识配置文件
1、主配置文件:/etc/vsftpd/vsftpd.conf
2、用户认证pam认证:/etc/pam.d/vsftpd
3、创建一个存放虚拟用户的文件:/etc/vsftpd/ftpuser
4、创建一个存放虚拟用户配置权限的目录:/etc/vsftpd/user_list
允许用户访问时:
userlist_deny=NO
拒绝用户访问时:
userlist_deny=YES
5、ftp服务下本地用户/ 虚拟用户默认访问文件的路径:/var/ftp下有一个pub子目录,默认所有目录只读,只有root才有写权限
一、搭建匿名访问配置
1、配置系统用户FTP,进入/var/ftp下创建一个文本文件用于测试
2、更改配置文件:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
完成!
测试:
打开我的电脑:ftp://x.x.x.x
问:如何从客户机通过ftp来上传文件至服务器端呢
答:
1、改权限,把服务器的发图片分享目录改为777权限
2、修改配置文件,允许用户上传
3、测试:可以把桌面或文档里的文件拖至服务器了
chmod -R 777 /var/ftp/pub/
#anon_upload_enable=YES//去掉注释
二、搭建本地访问配置
1、创建目录
2、创建用户
3、授权,这个用户属于root组
4、给用户设置密码,用于登录
5、更改配置文件
6、重启vsftpd
7、测试
mkdir -p /var/ftp/html
useradd -g root -M -d /var/ftp/html/ -s /sbin/nologin ftptest
chown -R ftptest:root /var/ftp/html
passwd ftptest
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
systemctl restart
测试:在自己的电脑输入ftp://192.168.208.128
三、搭建虚拟访问配置
1、创建虚拟用户文件并生成为数据密码文件
2、创建FTP根目录及虚拟用户映射的本地用户
3、建立支持用户的pam认证文件
4、主配置文件配置
5、创建并修改虚拟用户权限配置文件
6、测试
开始:
步骤1:
vi /etc/vsftpd/vsftp_users.conf
virtual1
123456
virtual2
123456
db_load -T -t hash -f /etc/vsftpd/vsftp_users /etc/vsftpd/vsftp_users.db
步骤2:
mkdir /var/ftp/users
useradd users -d /var/ftp/users -s /sbin/nologin -g users
chmod 750 /var/ftp/users
步骤3:
vi /etc/pam.d/vsftpd(注释之前的内容,且第一行保留;完整路径是/usr/lib64/security/pam_userdb.so)
auth required pam_userdb.so db=/etc/vsftpd/vsftp_users
account required pam_userdb.so db=/etc/vsftpd/vsftp_users、
步骤4:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO//设为NO
local_enable=YES//设为YES;因为映射了本地用户所以必须打开
chroot_list_enable=YES
pam_service_name=vsftpd//注意我pam认证文件是在vsftpd文件里加的内容,所以这里写vsftpd
在配置文件中添加以下内容:
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/user_conf
allow_writeable_chroot=YES
步骤5:
创建虚拟用户权限配置文件存放位置的目录
mkdir /etc/vsftpd/vuser_conf
touch /etc/vsftpd/vuser_conf/virtual1
自定义用户权限配置文件
vi /etc/vsftpd/vuser_conf/virtual1
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
重启vsftp
步骤6:测试