ftp(简单文件传输协议),是一种应用广泛的网络文件传输协议和服务,占用20和21号端口,主要用于资源的上传和下载.

在linux对于ftp同widows一样具有很多的种类,这里主要介绍vsfptd(非常安全的守护进程)

的三种登录方法(匿名登录和本地登录及虚拟登录)极其一些主要的配置

首先用yum安装vsftpd

/etc/vsftpd/vsftpd.conf为ftp的主要配置文件

启动ftp服务 :service vsfptd restart

把其加入到开机项

匿名登录

匿名用户登录ftp server配置比较简单,默认是允许匿名登录ftp server的,主要是考虑权限和selinux及iptables
对ftp server的约束

这里可对ftp server作一些优化,使client登录ftp server可以执行上传及创建文件等高权限的操作

当client访问ftp server时访问是可以的,但当创建文件时提示权限不够,此时便可以修改selinux对ftp的安全控制

本地登录

禁止匿名登录用本地创建的账号登录ftp 服务器

在/etc/vsftpd目录下有ftpusers和user_list可对本地系统账号作限制登录,只要把配置文件里出现的账户抹去即可

# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

虚拟登录

首先在/etc/vsftpd目录下创建虚拟用户登录ftp server的用户名和密码对应文件/etc/vsftpd/vuser.list

u1                    //奇数行代表用户名
123                 //偶数行代表密码
u2
123

利用哈希加密,把创建的登录虚拟用户文件加密为vuser.db,并设置权限

[root@localhost ~]# db_load  -T -t hash /etc/vsftpd/vsftpd.list   /etc/vsftpd/vsftpd.db

vim 编辑/etc/pam.d/vsftpd.vu  创建PAM认证文件

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

设置一个不允许系统登录的账户对应着虚拟用户登录ftp server时所用的家目录

[root@localhost ~]# useradd -d /var/ftproot/ -s /usr/sbin/nologin virtual

为了让虚拟用户登录系统具有可以一些列的权限,可以在/etc/vsftpd下创建虚拟用户权限目录vuser_dir,并同时创建和虚拟用户名相同的文件,设置权限

[root@localhost ~]# cd /etc/vsftpd/vusrs_dir/
[root@localhost vusrs_dir]#
[root@localhost vusrs_dir]#
[root@localhost vusrs_dir]# ls
u1 u2
[root@localhost vusrs_dir]#
[root@localhost vusrs_dir]#

vim /etc/vsftpd/vuser_dir/u2

anon_mkdir_write_enable=YES
anon_upload_enable=YES

接下来重要的是把先前创建好的一些列文件在主配置文件/erc/vsftpd/vsftpd.conf里调用

user_config_dir=/etc/vsftpd/vusers_dir      //虚拟用户权限文件目录
guest_enable=YES                        //允许虚拟用户登录ftp
guest_username=virtual               //虚拟用户名
allow_writeable_chroot=YES         //允许虚拟用户目录取消牢笼机制
pam_service_name=vsftpd.vu    //指定pam认证文件的位置

在客户端登录ftp server,发现可以成功用虚拟账户登录ftp server,从一定程度上提升了ftp server的安全性

[root@localhost vusrs_dir]# ftp 10.0.0.1
Connected to 10.0.0.1 (10.0.0.1).
220 (vsFTPd 3.0.2)
Name (10.0.0.1:root): u2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

优化

1:本地用户登录访问控制

下面对ftp server坐一些优化,在前面说到的采用本地登录方法登录ftp server,处在/etc/vsftp/vuser|root文件被 ftp server列为黑名单,这是由于/etv/vsftpd/vsftpd.conf下的userlist_enable选项导致的,只要把"YES"改为NO,黑名单里的用户便可已登录ftp server,但黑名单外的

用户则不可以登录ftp server

userlist_enable=NO

2:最大连接数

若由多个client同时登录 ftp server,就难免造成ftp server的流量分配不均,可以用

max-clinets  number    //对同一时间的client做最大限制

max-per_ip  number   //对同一IP做最大限制

3:用户隔离

vim编辑/etc/vsftpd/vsftp.conf:

取消 chroot_local_user=YES前的注释,限制用户只能在自己当前的目录

4:会话和数据传输超时时间控制

Idle_session_timeout //设置会话超时的最大时间

Data_connection_timeout //设置数据传输超时的最大时间

转载于:https://www.cnblogs.com/activecode/p/9348181.html

基于ftp服务的三种登录方式及其相关的访问控制和优化相关推荐

  1. linux系统查看FTP用户名密码,Linux的FTP的三种登录方式:

    Linux的FTP的三种登录方式: 我们登录FTP有三种方式,匿名登录.本地用户登录和虚拟用户登录. 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous. 本地用户登录:使用系 ...

  2. 什么叫反光识别读数识别_南昌公积金提取有大变化!增加三种登录方式

    今日,记者从南昌公积金管理中心获悉,"南昌公积金"微信公众号再次进行优化.南昌公积金缴存职工可通过反光识别登录身份认证.读数识别登录身份认证和账户密码登录三种方式进行登录. 升级后 ...

  3. 工业以太网交换机的三种转发方式

    交换(switching)是按照通信两端传输信息的要求,用人工或设备自动完成的方法,把要传输的信息送到符合要求的相应路由上的技术的统称.根据工作位置的不同,可以分为广域网交换机和局域网交换机.广域网的 ...

  4. 可网管交换机的三种管理方式介绍

    交换机的按是否可网管,分为可网管交换机和不可网管交换机,可网管交换机可以通过以下几种途径进行管理:通过RS-232串行口(或并行口)管理.通过网络浏览器管理和通过网络管理软件管理.接下来就由杭州飞畅科 ...

  5. 基于宝塔面板的三种数据库备份方式(服务器备份,云备份,本地备份)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 基于宝塔面板的三种数据库备份方式(服务器备份,云备份,本地备份) 前言 前天也就是10月20号的时候,去河南郑州参加了第八届IHCN中 ...

  6. 分布式锁的三种实现方式_基于 redis 的分布式锁实现

    云龙 资深运维开发工程师,负责游戏系统配置管理平台的设计和开发,目前专注于新 CMDB 系统的开发,平时也关注运维自动化,devops,python 开发等技术. 背景 CMDB 系统里面的机器数据会 ...

  7. k8s-(七)暴露服务的三种方式

    上一篇博客总结的项目怎么部署到k8s上运行,但是运行pod ip是docker网桥的IP地址段进行分配的,通常是一个虚拟的二层网络,外部网络并没有办法访问,并且,pod ip是随时会变的,不是固定的, ...

  8. FTP的两种登录方式

    在讲两种登录方式之前,还是先说说FTP是什么?FTP 即 文件传输协议(英语:File Transfer Protocol 的缩写)是一个用于计算机网络上在客户端和服务器之间进行文件传输的应用层协议. ...

  9. 简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?

    简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么? 参考答案: (1)ftp有两种登录方式:匿名登录和授权登录.使用匿名登录时,用户名为:anonymous ...

最新文章

  1. redis搭建集群和主从
  2. 【阿里妈妈营销科学系列】第二篇:消费者行为分析
  3. php中const的意思,php – 在const中使用const
  4. ios7学习之路六(隐藏状态栏 )
  5. 2015年创业中遇到的技术问题:21-30
  6. js中的 toUpperCase()中开头的u和c一定要大些
  7. 洛谷 P2712 摄像头
  8. 怎么将服务器中图片显示出来,服务器显示图片
  9. python经纬度是否在范围内_如何用经纬度数据在python里查询城市等地址信息
  10. 2345劫持浏览器主页怎么办?以Microsoft Edge为例
  11. 我是火枪,我想打dps
  12. 帐套文件(*.mdf)无法复制,拷贝出现数据错误(循环冗余检查)帐套文件(*.mdf)无法复制,拷贝出现数据错误(循环冗余检查),sql附加823错误
  13. 贴一篇感人肺腑激动人心的博客(转自51cto)
  14. 华为+android+root权限获取root,[Android]如何获取华为手机的root权限
  15. The Sixty-first Of Word-Day
  16. Springboot 整合 Current-Limiting 实现接口限流
  17. GitLab 之 历史版本回退
  18. java 怎样卸载一个类_java 类型卸载问题
  19. Java内存模型(JMM的原理和介绍)
  20. php 支付宝 当面付(个人账号免签约)

热门文章

  1. 无线AP、WiFi、WLAN是什么关系?
  2. 改进SmallNet的BCI可以用于BrainRunners电子游戏的脑电解码分类
  3. 计算机应用教程 中级 平装,计算机应用中级教程
  4. 商汤IPO首日市值涨百亿,徐立感慨时代之幸:有机会改变世界!
  5. 平板就是生产力?东京大学研究者“辟谣”了,用纸笔记录,更有利于记忆
  6. 这个AI“大师级”简笔画水平,惊艳到了网友:竟然不用GAN
  7. 初二男生为外婆发明认人神器,帮认亲人,20分钟召唤回家,并报出家庭地址...
  8. Adam又要“退休”了?耶鲁大学团队提出AdaBelief,NeurIPS 2020收录,却引来网友质疑...
  9. 帮初学者快速上手机器学习,这有一份Colab资源大全
  10. 用飞桨做自然语言处理:神经网络语言模型应用实例