12.Linux学习--FTP服务的部署

12.1 FTP介绍

  • FTP:File Transfer Proto 文件传输协议,是 TCP/IP 协议组中的协议之一。
  • FTP协议包括两部分,1.FTP服务器,2.FTP客户端。
  • FTP服务器用来存储文件,FTP客户端通过FTP协议访问位于FTP服务器上的资源

 

12.2 vsftpd安装

yum install vsftpd -y 

12.Linux学习--FTP服务的部署_第1张图片

关闭selinux

vim /etc/sysconfig/selinux 

12.Linux学习--FTP服务的部署_第2张图片

关闭firewalld

systemctl disable firewalld.service
systemctl stop firewalld.service

12.Linux学习--FTP服务的部署_第3张图片
 

systemctl start vsftpd 

12.Linux学习--FTP服务的部署_第4张图片

systemctl enable vsftpd


 测试安装发布:

firefox ftp://ip lftp ip 

12.Linux学习--FTP服务的部署_第5张图片

12.3 vsftpd基本信息

  • 服务名称: vsftpd.service
  • 配置目录: /etc/vsftpd
  • 主配置文件: /etc/vsftpd/vsftpd.conf
  • 默认发布目录: /var/ftp
  • 报错信息:
  1. 550 ##程序本身拒绝
  2. 553 ##文件系统权限限制
  3. 500 ##权限过大
  4. 530 ##认证失败

12.4 匿名用户访问控制

lftp 192.168.0.10 ##当访问ftp服务时没有加入用户认证为匿名访问


 
登陆控制 anonymous_enable=YES|NO


 
家目录控制 anon_root=/test

12.Linux学习--FTP服务的部署_第6张图片

 上传控制 anon_upload_enable=YES|NO
 12.Linux学习--FTP服务的部署_第7张图片
 
下载控制 anon_world_readable_only=NO 

 12.Linux学习--FTP服务的部署_第8张图片
目录建立控制 anon_mkdir_write_enable=YES|NO
 
删除重命令控制 anon_other_write_enable=YES|NO
登陆数量控制: max_clients=2
上传速率控制 anon_max_rate=102400


12.5 本地用户的访问

登陆控制:

1. 环境准备:

useradd huayu 

echo redhat | passwd --stdin huayu

2. 本地用户登录

lftp 192.168.0.10 -u huayu

12.Linux学习--FTP服务的部署_第9张图片

是否允许本地用户登录 local_enable=NO|YES 


 
家目录控制 local_root=/software

写权限控制 write_enable=NO|YES
 
上传文件权限控制  local_umask=077
 
用户登陆控制:

  • /etc/vsftpd/ftpusers ##永久黑名单 
  • /etc/vsftpd/user_list ##默认黑名单(默认是黑名单,可被设定为白名单)

用户登陆白名单:

userlist_deny=NO  #设定/etc/vsftpd/user_list位白名单,不在名单中的用户不能登陆ftp

锁定用户到自己的家目录中: 

chmod  u-w /home/*

chroot_local_user=YES

锁定用户到自己的家目录(白名单:chroot_list中的用户不锁定,默认用户锁定到家目录) 

  1. chroot_local_user=YES
  2. chroot_list_enable=YES
  3. chroot_list_file=/etc/vsftpd/chroot_list

锁定用户到自己的家目录(黑名单:chroot_list中的用户锁定,默认用户不锁定) 

  1. chroot_local_user=NO
  2. chroot_list_enable=YES
  3. chroot_list_file=/etc/vsftpd/chroot_list

 

12.6 虚拟用户访问

12.6.1 建立虚拟用户过程

1. 建立认证文件模板

vim /etc/vsftpd/ftp_auth_file

12.Linux学习--FTP服务的部署_第10张图片


2. 加密认证文件

db_load -T -t hash -f ftp_auth_file ftp_auth_file.db 

12.Linux学习--FTP服务的部署_第11张图片

 ps:-T 转换 -t type -f 指定转换文件

3. 添加认证策略文件

vim /etc/pam.d/test

12.Linux学习--FTP服务的部署_第12张图片
 
4.

vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos ##指定认证策略文件

guest_enable=YES ##指定虚拟用户功能开启

guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份


 
12.6.2 虚拟用户家目录的独立设定

mkdir  -p /ftpuserdir/test{1..3} 

12.Linux学习--FTP服务的部署_第13张图片
 

touch  /ftpuserdir/test1/file1 

touch  /ftpuserdir/test2/file2 

touch  /ftpuserdir/test3/file3

vim /etc/vsftpd/vsftpd.conf 

12.Linux学习--FTP服务的部署_第14张图片

systemctl restart vsftpd 

12.Linux学习--FTP服务的部署_第15张图片
 
12.6.3 用户配置独立

vim /etc/vsftpd/vsftpd.conf 

在/etc/vsftpd/user_config目录中与用户名称相同的文件为用户配置文件

mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/test1

12.Linux学习--FTP服务的部署_第16张图片

设定完成后test1用户可以上传文件test2和test3不行


 

 

 

 

 

 

你可能感兴趣的:(Linux)