vsftpd配置与注意点

前些日子因为工作需要需要写一个ftp服务器,因为是第一次所以跳了不少坑,废话不多说,下面是正文。

系统:archlinux 64位

其实写一个ftp服务器也就是把vsftpd的配置文件按照你的需求重新编写一下,不需要你了解太多的东西,有一定linux使用经验的人都能了解其中的含义(配置文件中的条例)。

 

ftp服务器有主动模式和被动模式

被动模式

客户—————————————Login————————————————>ftp服务器      port21

ftp服务器  port21—————————告知端口号(随机的)———————————————>客户             

客户———————————数据传输——————————————>ftp服务器(之前告知的port)

主动模式

客户————————————Login——————————————————>ftp服务器    port21

客户————————————发送 随机的port  > 1024(客)————————>ftp服务器  port21

ftp服务器(port20)————————————数据传输————————>客户(之前发送的port)

———————————————————————————————————————————————————————————

配置vsftpd:

vsftpd的配置文件为/etc/vsftpd.conf,先备份再配置

基本配置文件

  1. anonymous_enable=NO  
  2. local_enable=YES
  3. write_enable=YES
  4. local_umask=022
  5. dirmessage_enable=YES
  6. xferlog_enable=YES
  7. connect_from_port_20=YES
  8. xferlog_std_format=YES
  9. listen=NO
  10. listen_ipv6=YES
  11. pam_service_name=vsftpd 
  12. userlist_enable=YES
  13. tcp_wrappers=NO

这些东西网上一大堆,pam_service_name=vsftpd,这里的vsftpd是/etc/pam.d文件夹中的配置文件

下面说虚拟用户

虚拟用户需要一个宿主用户,虚拟用户的总体权限集中寄托于虚拟宿主用户,虚拟宿主用户本身的权限影响着虚拟用户

useradd -s /sbin/nologin overlord

因为vsftpd服务的宿主用户是root,root的权限太大了,所以建立一个新的宿主用户

useradd -s /sbin/nologin vsftp

又因为vsftpd服务的宿主用户未手动建立的vsftp,所以要给予该用户日志写入权

建立虚拟用户名单文件

vim /etc/vsftpd/vusers

在文件中写入用户名、密码单行用户名双行密码,一行一个

生成虚拟用户数据文件

db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusers.db

编辑pam.d中的vsftpd文件

vim /etc/pam.d/vsftpd

注释掉之前的内容

写入  auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers

创建虚拟用户的主路径

mkdir /opt/vsftp

mkdir /opt/vsftp/bigmao

虚拟配置:

  1. guest_enable=YES
  2. guest_username=overlord     #overlord为虚拟宿主用户
  3. allow_writeable_chroot=YES
  4. user_config_dir=/etc/vsftpd/vusers_profile  #虚拟用户的个人配置文件
  5. pam_service_name=vsftpd
  6. userlist_enable=YES
  7. chown_uploads=NO   #禁止上传文件更改宿主
  8. user_deny=YES  #启用黑名单
  9. nopriv_user=vsftp
  10. async_abor_enable=YES
  11. ascii_upload_enable=YES
  12. ascii_download_enable=YES
  13. chroot_list_enable=NO
  14. ls_recurse_enable=NO
  15. virtual_use_local_privs=YES
  16. chroot_local_user=YES

虚拟个人用户配置

  1. anonymous_enable=NO
  2. write_enable=YES
  3. local_umask=022
  4. anon_upload_enable=NO
  5. anon_mkdir_write_enable=NO
  6. idle_session_timeout=600
  7. data_connection_timeout=120
  8. max_clients=10
  9. max_per_ip=5
  10. local_max_rate=50000

说一下心得,遇到问题最好还是看日志文件,知道问题出在哪才能对症下药

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值