Linux下ftp服务配置

FTP服务配置

1.关闭SElinux配置yum源,安装软件

  vsftp ---> very secure ftp
  安装
  yum install vsftpd lftp -y

2.在防火墙中添加FTP服务,重启防火墙

  firewall-cmd --permanet --add-service=ftp 
  firewall-cmd --reload

3.编译配置文件 /etc/vsftpd/vsftpd.conf
基本配置参数

  允许匿名用户登录			anonymous_enable=YES
  
  是否允许本地用户登录			local_enable=YES
  
  登录后是否具有可写权限		write_enable=YES
  
  匿名用户是否可以上传文件		anon_upload_enable=YES
  
  匿名用户具有读权限			anon_world_readable_only=NO 

  匿名用户的可删除权限			anon_other_write_enable=YES 

  匿名用户上传文件的权限限制	anon_umask=022 

  更改上传文件所属用户			chown_uploads=YES 

  上传文件权限				chown_upload_mode=0644 

  匿名用户上传限速			anon_max_rate=1024(字节为单位)

  最大可登录用户				max_clients=2 

  设置匿名用户的家目录			anon_root=/anon

切换目录的黑白名单限制

  限制用户只能在自己的家目录	chroot_local_user=NO  黑名单
	 								  	     =YES 白名单
  
  启用名单					chroot_list_enable=YES
  
  名单内容					chroot_list_file=/etc/vsftpd/chroot_list

限制本地用户登录的黑白名单

  永久黑名单
  /etc/vsftpd/ftpusers

  临时黑名单
  /etc/vsftpd/user_lists

  白名单设置
  userlist_deny=NO
  /etc/vsftpd/user_list   此时该文件为白名单

虚拟用户配置参数(该用户仅针对ftp使用/注意取消全局黑名单)

  创建用户文件	/etc/vsftpd/login.file
  zy1
  123
  zy2
  123
  zy3
  123
  加密			db_load -T -t hash -f login_file login_file.db

  创建验证文件	/etc/pam.d/login_ftp
  编辑内容
  account required pam_userdb.so	db=/etc/vsftpd/login_file
  auth	required pam_userdb.so	db=/etc/vsftpd/login_file
  
  编辑配置文件(注意临时白名单此时需要取消) /etc/vsftpd/vsftpd.conf
  #userlist_deny=no
  pam_service_name=login_ftp
  guest_enable=yes

给每一个虚拟用户创建家目录

  创建虚拟用户的家目录
  mkdir /var/ftpuser
  mkdir /var/ftpuser/zy{1,2,3}
  mkdir /var/ftpuser/zy{1,2,3}/pubzy -p

  修改配置文件
  local_root=/var/ftpuser/$USER	使用虚拟用户家目录
  user_sub_token=$USER			使用虚拟用户名称以便调用家目录

单独配置每一个用户的单独配置文件(注意关闭原配置文件的全局配置)

  修改全局配置文件
  user_config_dir=/etc/vsftpd/zy/
  
  编写单个配置文件内容/etc/vsftpd/zy/zy1(目录名称要与用户名称相同)
  anon_upload_enable=YES
  ...
  ...

4.连接方式

  lftp ip  匿名用户连接 
  参数  -u 指定本地用户

5.报错提示

  错误代码
  			500 	权限过大,不允许登陆
  			530 	认证失败
  			550 	服务没有开启
  			553 	文件系统不可写

配置示例

安装FTP服务器,并完成使用环境的配置
安装lftp以及vsftp
Linux下ftp服务配置_第1张图片
关闭SELINUX,将ftp服务添加至防火墙并重启防火墙
Linux下ftp服务配置_第2张图片
启动vsftpd服务,同时设置为开机自启动
在这里插入图片描述
设置参数,使得匿名用户不可以登陆
Linux下ftp服务配置_第3张图片
设置参数,使得匿名用户可以登陆,本地用户不能登陆
Linux下ftp服务配置_第4张图片
设置匿名用户可以登陆,也可以上传文件
Linux下ftp服务配置_第5张图片
此时参数虽然已经设置,但仍无法上传文件,查看错误是由于没有权限,可以将/var/ftp/pub组改为ftp,同时赋予组读写权限解决
Linux下ftp服务配置_第6张图片
此时尝试删除刚刚上传的文件,发现失败,于是赋予匿名用户删除权限
Linux下ftp服务配置_第7张图片
匿名尝试创建目录,失败,修改赋予匿名用户创建目录的权限
Linux下ftp服务配置_第8张图片
尝试上传文件至新建的zy目录中,上传文件成功,但却无法查看
Linux下ftp服务配置_第9张图片
于是赋予匿名用户查看文件的权利
Linux下ftp服务配置_第10张图片
由上查看发现匿名用户上传的文件的权限为600,对普通用户没有读的权限,于是修改匿名用户的系统保留权限值,使得文件具有读权限
Linux下ftp服务配置_第11张图片
配置参数,使得上传文件的默认所有者为student,同时权限为644
Linux下ftp服务配置_第12张图片
限制上传文件速率为1M
Linux下ftp服务配置_第13张图片
限制最大可登陆客户数为2
Linux下ftp服务配置_第14张图片
设置登陆用户是否可以进入root目录的黑白名单
白名单设置
Linux下ftp服务配置_第15张图片
黑名单设置
Linux下ftp服务配置_第16张图片
限制本地用户登陆的黑白名单
限制本地用户登录
永久黑名单 /etc/vsftpd/ftpusers
Linux下ftp服务配置_第17张图片
取消永久黑名单设置临时黑名单
Linux下ftp服务配置_第18张图片

变更白名单设置
Linux下ftp服务配置_第19张图片
创建仅用于ftp服务的虚拟用户
创建用户并加密
Linux下ftp服务配置_第20张图片
创建验证文件
在这里插入图片描述
配置参数使用该验证模块
Linux下ftp服务配置_第21张图片
分配使得每个用户都有不同的家目录
创建家目录
在这里插入图片描述

配置参数分配家目录,登陆zy1,上传/etc/passwd,退出,登陆zy2,查看,发现无此文件,证明不在同一家目录
Linux下ftp服务配置_第22张图片

取消全局参数,分别设置zy1具有上传和删除文件的能力,zy2具有上传的能力,但不能删除
注释匿名用户的参数,修改配置参数,同时创建与用户对应名称的配置文件,重启服务
Linux下ftp服务配置_第23张图片
验证结果
验证zy1用户
Linux下ftp服务配置_第24张图片
验证zy2
Linux下ftp服务配置_第25张图片

你可能感兴趣的:(总结,Linux下ftp配置)