设为首页 收藏本站
查看: 1094|回复: 1

[经验分享] ftp服务详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-26 09:05:24 | 显示全部楼层 |阅读模式
ftp:file transfer protocol,  监听21端口
    文件传输协议,工作在应用层
     明文协议:认证及数据传输;
ftp实现方式:      服务端实现:vsftpd pureftpd proftpd   vsftpd是默认在光盘上自带的

      客户端实现:
            linux:ftp lftp
            windows:cuteftp Filezilla Flashfxp

ftp连接类型:      命令连接:传输指令
      数据连接:传输连接

工作方式:站在服务器端的角度描述    主动模式:服务器向客户端发起数据传输请求
         服务器端口:固定
         客户端端口:随机
    被动模式:客户端向服务器端发起数据传输请求
         服务器端口:半随机,有客户端向21号端口发送了连接请求,此时服务器会发送两个数字,这两个数字是服务器端新开启的服务端口除以256得的商值和余数。由此客户端可以计算出服务器端的端口号。
ftp用户分类:             资源位于用户的家目录下/var/ftp/
     匿名用户:(映射至某一固定的系统用户)  匿名用户的用户名为ftp、vsftp

    本地用户:(系统用户)   root及系统用户(0-999);操作系统上的每一个用户都是本地用户,我们不允许访问ftp服务器
     虚拟用户:映射入某操作系统上的某个用户
          nsswitch:名称服务转换
          PAM:插入式认证模块。
数据传输格式:      文本格式:binary
      二进制格式:ascll
数据传输是通过线缆流式化传输的;传输图片也同样传输的字符串,到本地之后,通过这个字符调用相对应的图片。
或者是传输过程中再加一个说明文档,告诉对方如何将数据流重组。

vsftpd安装方法步骤一vftpd 是centos自带的,短小精悍,监听21号端口

~]# yum info vsftpd 查看属性
~]# yum install vsftpd   
/usr/sbin/vsftpd   程序
/etc/vsftpd/vsftpd.conf   配置文件
/etc/pam.d/vsftpd     因为基于pam进行认证,所以在pam下也有一个配置文件
/var/ftp/    用户家目录
步骤二CentOS 6 :
    /etc/rc.d/init.d/vsftpd  <--启动服务脚本
    chkconfig vsftpd on      <--启动服务永久开启
CentOS 7
   /usr/lib/systemd/system/vsftpd.server
    systemctl enable vstfpd.service  <--永久开启

getenforce 关闭selinux
步骤三:测试:ftp://172.18.64.70/pub步骤四:lftp -u centos,magedu 172.18.64.70  <--创建centos用户密码为magedu,使用此用户访问ftp服务->lcd /etc   切换到centos用户的etc目录->put fstab  将fstab文件上传到ftp上步骤五:对匿名用户控制
开启匿名用户的上传、创建、删除及重命名功能
对用户权限进行限制,建议先备份配置文件
   ~]# vim /etc/vsftpd/vsftpd.conf
   ~]# directive=value    <--配置文件书写格式必须顶格写

匿名用户配置方法:此处我们要实现匿名用户有上传权限
    anonymous_enable=YES    <--是否启用匿名用户 想关闭单纯注释掉是没有用的
    anon_upload_enable=YES  <--控制匿名用户的上传权限,依赖于write_enable=YES
    write_enable=YES        <--是否允许通过ftp协议修改文件系统上的数据指令,此命令全局生效,所以一定要处于开启状态
    anon_mkdir_write_enable=YES   <--开启匿名用户创建目录的权限,默认关闭
    anon_other_write_enable=YES  <--定义匿名用的删除及重命名权限
生效需重载:systemctl restart vsftpd.service

~]# cd /var/ftp/  
~]# chown ftp upload  将属主改为ftp

测试:使用172.18.64.71这台主机
    ~]# lftp 172.18.64.70/upload    <--因为我们只给upload目录修改了属主

    ~]# lcd /etc/    切换到70这台主机的/etc/目录下
    ~]# put fstab   上传文件成功   


步骤六:对本地用户控制本地用户:
     (1)local_enable=YES   <--是否允许本地用户可以登陆ftp,如果关闭即只开放匿名用户
          注意:所有非匿名用户的生效,都依赖于此命令
     (2)local_umask=022 <--本地用户上传的文件权限掩码,应该设置为077,本地用户上传的只有本地用户可以查看


目录消息
     (3)dirmessage_enable=YES  <--目录消息显示,用户 第一次进入目录时,vsftpd会查看.message文件,并将其内容显示给用户。message_file指定文件路径,而不使用默认的.message;


数据传输日志
    (4)xferlog_enable=YES  <--是否打开上传下载的日志默认路径/var/log/vsftpd.log 不建议启用
      (5)xferlog_file=/var/log/vsftpd.log  <--定义传输日志文件的文件名


数据传输模式:
    (6)connect_from_port_20  我们服务器是否能够工作于主动模式。但是取决于客户端是否支持,如果支持就主动,不支持就被动


修改匿名用户上传的文件的属主:
    chown_uploads       控制匿名用户上传的文件,是不是要改变其默认属主属组,如果不改就是匿名用户映射的系统用户ftp
    chown_username:     启用chown_uploads时,将文件属主修改为此指令指定的用户,默认为root
    chown_upload_mode   设定匿名用户上传的文件的权限,默认为600


设定空闲会话超时时长:
    idle_session_timeout 定义任何一个远程连接建立起以后,部在活跃了,多久断开,默认为300s


命令连接的监听端口
    listen_port 默认为21 可能默认没有设置,要手动设置


设定连接及传输速率
    local_max_rate 默认最大传输速率,


默认最大连接数
    max_clients   默认2000个  0表示无限制


单个ip所允许的最大连接数
    max_per_ip


设定匿名用户的最大传输速率
    anon_max_rate


主动数据传输模式下 服务器连接客户端的超时时间
idle_connection_timeout


被动数据传输模式下 服务器连接客户端的超时时长
data_connection_timeout


只以文本格式上传,不能开启;除非你确定自己只上传文本文件

ascii_upload_enable=YES


大条幅:
ftpd_banner=Welcome  每次连接ftp服务器都会显示一些信息



禁锢所有本地用户,锁在自己家目录下
chroot_local_user=YES <--禁锢所有本地用户
    注意:要求用户对家目录,没有写权限


禁锢列表中的用户,与上方式不能同时使用
vim /etc/vsftpd/chroot_list
每行一个用户名
chroot_list_file=/etc/vsftpd/chroot_list  <--此选项在主配置文件中


是否启用用户列表
/etc/vsftpd/ftpusers  <--禁止某些用户登录,只是一个黑名单



userlist_enable=YES  <--启用时,vsftpd将加载一个由userlist_file指令指定的用户列表文件;此用户中的用户是否能访问vsftpd服务取决于userlist_deny指令


userlist_deny=YES   此时user_list为黑名单
userlist_deny=NO    此时user_list为白名单
/etc/vsftpd/user_list/  <--这是user_list的目录





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-221924-1-1.html 上篇帖子: vsftpd 配置:chroot_local_user与chroot_list_enable详解 下篇帖子: RHEL 6.5 配置FTP服务器
累计签到:32 天
连续签到:1 天
发表于 2016-6-6 18:47:32 | 显示全部楼层
怎么没人回复啊!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表