linux系统FTP服务

ftp服务

一、FTP 文件传输协议

  1.FTP为系统提供了通过网络与远程服务器进行传输的简单方法,分主动和被动两种;
  2.vsftpd:安全型服务器包,被动传输的接口是随机的,安全级别更高;
  3.默认配置文件让anonymous用户只能下载位于chroot目录中的内容;
  4./var/ftp:远程FTP客户端能以用户anonymous或ftp用户连接到服务器,无需密码;


二、设置FTP服务

  1.配置yum源,安装vsftpd lftp


  2.开启ftp服务,查看ftp接口,设置开机自启动
 
  3.在客户端进行实验  (防火墙处于开启状态)

 

无法连接

  4.在服务端修改配置文件,允许ftp连接
   查看防火墙限制的服务  firewall-cmd --get-services  
 
   修改配置文件,允许ftp服务通过防火墙
   firewall-cmd --permanent --add-service=ftp
   防火墙服务重新加载配置文件
   firewall-cmd --reload
   查看防火墙允许服务   firewall-cmd --list-all
 
  5.修改配置后,客户端连接ok   ##默认目录 /pub

 

三、用户登陆设置 

路径/etc/vsftpd/vsftpd.conf    
修改配置文件后需要重起服务生效:systemctl restart vsftpd
  1.匿名用户登陆
   anonymous_enable=YES
   anonymous_enable=NO     ##是否允许登陆
   不允许登陆状态如下:
   
  2.本地用户登陆
   local_enable=YES
   local_enable=No         ##是否允许登陆
   不允许登陆状态如下:
  
  3.本地用户读写    
   write_enable=YES
   write_enable=NO         ##是否允许读写
   注意:该实验必须修改内核级限制文件 /etc/sysconfig/selinux
     SELINUX=disabled
   允许读写
 
   不允许读写
   

四、登陆用户的读写权限

   注意:530报错为密码输入错误
        550报错为没有设置匿名用户上传权限
        553报错为文件权限不够

  1.查看ftp可操作的命令  help
  2.匿名用户上传文件权限  /etc/vsftpd/vsftpd.conf
    anon_upload_enable=YES
    修改组  chgrp ftp /var/ftp/pub/
    修改权限  chmod 775 /var/ftp/pub/
    实验效果如下:
  
  3.匿名用户删除文件权限  /etc/vsftpd/vsftpd.conf
   anon_other_write_enable=YES
    实验效果如下:
   
  4.匿名用户下载文件权限  /etc/vsftpd/vsftpd.conf
   anon_world_readable_only=NO
    实验效果如下:
  
  5.匿名用户新建目录权限  /etc/vsftpd/vsftpd.conf
   anon_mkdir_write_enable=YES
    实验效果如下:

 

五、用户登陆的相关配置

  1.修改默认用户,即以用户student的身份登陆
    chown_uploads=YES

    chown_username=student


  2.匿名用户的最大上传速度  ##单位byte
    anon_max_rate=102400
  3.匿名用户登陆的默认目录修改
    anon_root=/mnt    

    local_root=/mnt   ##本地用户登陆的默认目录

实验:在/mnt下建立五个文件      file1-file5


4.最多同时在线人数设定

    max_clients=3


  5.修改本地用户登陆后,文件默认权限修改

   local_umask=022        设置: local_umask=077           


  6.用户登陆,锁定在用户家目录
    chroot_local_user=YES
    注意:此时要取消家目录文件W权限,否则会500报错,权限太大
 
    用户登陆,可切换目录,如切到根目录    
    chroot_local_user=NO
   
  7.本地用户登陆黑/白名单
  chroot_local_user=NO
  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd/chroot_list
  注意:当锁定用户家目录(YES)时,/etc/vsftpd/chroot_list是白名单
       当不锁定用户家目录(NO)时,/etc/vsftpd/chroot_list是黑名单
  8.黑名单配置文件
    ftpusers     ##永久黑名单,一旦加入,任何操作都不能洗白
    user_list    ##临时黑名单,可修改配置文件,变为白名单
    userlist_enable=YES  ##开启userlist列表
    userlist_deny=NO     ##默认所有用户加入黑名单,白名单用户可登陆
    注意:若用户既在永久黑名单,也在白名单,此用户不能登陆!!

六、虚拟用户登陆
   1.建立虚拟用户   
    vim /etc/vsftpd/users    ##名字可自定义

   注意:不能有空格


   2.对虚拟用户和密码加密
    db_load -T -t hash -f users users.db

     会生成 /etc/vsftpd/users.db文件


   3.建立ftp验证文件
    /etc/pam.d/usercheck
    account     required    pam_userdb.so    db=/etc/vsftpd/users     ##用户认证

    auth    required    pam_userdb.so    db=/etc/vsftpd/users     ##密码认证


   4.修改配置文件,使虚拟用户登陆
     pam_service_name=usercheck        ##pam读取虚拟用户文件usercheck
     guest_enable=YES                  ##开启虚拟用户登陆
     guest_username=ftp                ##使虚拟用户以ftp映射用户登陆,
   5.配置虚拟用户具备独立的家目录
     建立虚拟用户的家目录(例:两个用户)

    ##—p 表示上层目录不存在,自动建立


     修改配置文件,使虚拟用户登陆到自己独立的家目录
    local_root=/var/ftpdir/$USER
    user_sub_token=$USER
     实验效果如下:
 
   6.虚拟用户分开管理(VIP)
     将匿名用户所有的权限关闭
     修改配置文件,给指定虚拟用户特殊权限
     user_config_dir=/etc/vsftpd/user_conf
     在/etc/vsftpd/user_conf目录下建立文件,以虚拟用户名命名
     touch hello
    
     修改虚拟用户登陆家目录权限
     chmod 755 /var/ftpdir/hello/hellodir/
     更改虚拟用户登陆家目录组

     chgrp student /var/ftpdir/hello/hellodir/

实验效果如下:


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值