FTP服务–用来传输文件的协议
FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
- 20端口用于建立数据连接,并传输文件数据
- 21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式和被动模式
- 主动模式:服务器主动发起数据连接
- 被动模式:服务器被动等待数据连接
1 yum install -y vsftpd #安装软件包 2 cd /etc/vsftpd/ 3 cp vsftpd.conf vsftpd.conf.bak #备份
设置匿名用户访问的FTP服务(最大权限)
1 #修改配置文件 2 vim /etc/vsftpd/vsftpd.conf 3 4 anonymous_enable=YES 5 #开启匿名用户访问。默认E开启 6 7 write enable=YES 8 #开放服务器的写权限(若要上传,必须开启)。默认已开启 9 10 anon umask=022 11 #设置匿名用户所上传数据的权限掩码(反掩码) 12 13 anon_upload_enable=YES 14 #允许匿名用户.上传文件。默认E已注释,需取消注释 15 16 anon_mkdir_write_enable=YES 17 #允许匿名用户创建(上传)目录。默认已注释,需取消注释 18 19 anon other write enable=YES 20 #允许删除、重命名、覆盖等操作。需添加
1 chmod 777 / var/ ftp/pub/ 2 #为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户.上传数据
1 #开启服务,关闭防火墙和增强型安全功能 2 systemctl start vsftpd 3 systemctl stop firewalld 4 setenforce 0 5 6 #匿名访问测试 7 在Windows系统打开开始菜单,输入cmd命令打开命令提示符 8 9 #建立ftp连接 10 ftp 192.168.208.20 11 12 #匿名访问,用户名为ftp,密码为空,直接回车即可完成登录 13 14 ftp> pwd 15 #匿名访问ftp的根目录为Linux系统的/var/ftp/目录 16 17 ftp> ls 18 #查看当前目录 19 20 ftp> cd pub 21 #切换到pub目录 22 23 ftp> get 文件名 24 #下载文件到当前windows本地目录 25 26 ftp> put 文件名 27 #上传文件到ftp目录 28 29 ftp> quit 30 #退出
设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
1 #修改配置文件 2 vim /etc/vsftpd/vsftpd.conf 3 4 local enable=Yes 5 #启用本地用户 6 7 anonymous_enable=NO 8 #关闭匿名用户访问 9 10 write enable=YES 11 #开放服务器的写权限(若要上传,必须开启) 12 13 local_umask=077 14 #可设置仅宿主用户拥有被上传的文件的权限(反掩码) 15 16 chroot_local_user=YES 17 #将访问禁锢在用户的宿主目录中 18 19 allow_writeable_chroot=YES 20 #允许被限制的用户主目录具有写权限 21 22 重启服务 23 systemctl restart vsftpd 24 25 ftp 192.168.208.20 26 ftp://zhangsan@192.168.80.10 27 28 修改匿名用户、本地用户登录的默认根目录 29 anon root=/var/Www/html 30 #anon_root 针对匿名用户 31 32 local root=/var/www/html 33 #local_root 针对系统用户
1 使用user_list 用户列表文件 2 vim /etc/vsftpd/user_list 3 //末尾添加zhangsan用户 4 xixi 5 6 vim /etc/vsttpd/vsttpd.cont 7 8 userlist enable=YES 9 #启用user_list用户列表文件 10 11 userlist deny=NO 12 #设置白名单,仅允许user_list用户列表文件的用户访问。默认为YES,为黑名单,禁用