linux中FTP服务搭建详解--1.匿名与权限

实验环境:在redhat6.5中安装配置FTP服务,并使用一台win7系统访问验证。

理论:

FTP连接方式
    
支持两种连接模式:主动模式(Port)和被动模式(Pasv),这两种模式都是针对数据链路进行的,与控制链路无关。

  • 主动模式工作过程:

    1.客户端从自己的一个任意端口(N >
    1024)和FTP服务器的21端口建立控制链路
    2.然后客户端发出Port指令告诉服务器连接自己的N+1端口来建立一条数据通道
    3.当FTP服务器接到这一指令时,会使用20端口连接用户在Port指令中指定的端口号N+1来发送数据

  • 被动模式工作过程:

    1.客户端从自己的一个任意端口(N >
    1024)和FTP服务器的21端口建立控制链路
    2.然后客户端发送Pasv指令,告诉服务器自己要连接服务器的某一个端口
    3.如果服务器上的这个端口是空闲可用的,那么服务器会返回确认信息,之后数据传输通道被建立;但如果服务器上的这个端口被另一个资源所使用,那么服务器返回不确认的信息,那么这是客户端会再次发送Pasv命令。

    操作环境

    1  操作系统 : redhat  6.5

    IP 地址 : 192.168.10.128

    主机名 : zred

    2  操作系统:win 7

    IP地址: 192.168.10.10

    确认两台主机互联互通。

    步骤

    需求:在Linux中搭建一个ftp服务器在存储文件,创建一个ftp用户:mod,主目录是:/home/mod,设置该用户不允许登录服务器,并需要限制该用户不能离开自己的主目录。

    一,首先我们需要vsftp包,显示如下图则表示已安装 vsftp软件,如果未显示则需要安装vsftpd软件。

    [[email protected] vuser]# rpm -q vsftpd

    如果没有则通过yarm源进行安装

    二,安装完成后,我们进入到ftp的根目录,默认是/etc/vsftpd/文件中进行配置。

    /etc/vsftpd/vsftpd.conf:vsftpd
    的核心配置文件
    /etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器。 
    黑名单
    /etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。  白名单

    /etc/vsftpd/chroot_list:指定允许使用vsftpd 的用户列表文件。  控制名单下的目录能不能离开ftp根目录、

    其中

    vsftpd.conf的具体配置如下:

     #----匿名用户设置----
     anonymous_enable=NO #禁止匿名用户登录
    
     #----本地用户设置----
     local_enable=YES #允许本地用户登录ftp服务器
     write_enable=YES #允许用户想服务器执行写入操作
     local_umask=022 #设置服务器上本地用户创建文件的权限掩码
     #----欢迎语设置----
     dirmessage_enable=YES #启用目录提示消息
    
     #----日志文件设置----
     xferlog_enable=YES #启用日志文件功能,记录于/var/log/xferlog
     xferlog_std_format=YES #启用标准的日志格式
    
     #----FTP工作方式与端口设置----
     connect_from_port_20=YES #主动模式下,是否启用默认的20端口进行数据传输
    
     #----与连接相关的设置----
     listen=NO            #vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制
     listen_ipv6=YES
    
     #----控制用户是否允许切换到上级目录----
     chroot_list_enable=YES         #开启限制用户在主目录的功能
     chroot_list_file=/etc/vsftpd/chroot_list #在chroot_list文件中加入你要限制的用户名,一行一个用户
    
     #----虚拟用户设置----
     pam_service_name=vsftpd      #虚拟用户使用PAM认证方式
    
     #----控制用户访问(通过vsftpd.user_list和ftpusers文件来实现)----
     userlist_enable=YES #是否启用userlist_file文件
     userlist_file=/etc/vsftpd/user_list #允许user_list文件中加入的用户访问ftp服务器
    
     #----控制主机访问----
     tcp_wrappers=YES #vsftpd服务器检查/etc/hosts.allow和/etc/hosts.deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器
    
     #----其它设置----
     allow_writeable_chroot=YES #去除用户主目录的写权限

    三,创建mod用户,并设置密码。

    [[email protected] vsftpd]# useradd -d /home/mod -m mod
    [[email protected]
    vsftpd]# passwd mod

    四,开启服务。

    关闭防火墙:[[email protected] vsftpd]# service iptables stop

    启动ftp服务器:[[email protected] ~]# service vsftpd
    restart

    赋权,将ftp指定的根目录赋权为777权限:

    [[email protected] ~]# chmod 777 /var/ftp/pub/
    [[email protected] ~]# ls -lh
    /var/ftp

    检查SElinux状态并关闭

    /usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

    # sentenforce 0     ##关闭它

    在win7系统中运行CMD,输入ftp “linux主机ip”进行访问。

  • 如果想让匿名用户拥有添加和删除文件的权限则需要修改主配置文件中的:

    将anon前的#去掉。

    再在MKDIR的下面添加一行。

    重启服务,这样,匿名用户就拥有最大的权限了。

    下一篇接着介绍如何使用本地用户以及各种安全策略。

原文地址:http://blog.51cto.com/13706064/2148177

时间: 2024-10-18 16:20:57

linux中FTP服务搭建详解--1.匿名与权限的相关文章

Linux下DNS服务器搭建详解

 Linux下DNS服务器搭建详解 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. 下面对DNS的工作流程及原理进行简要说明 DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts:若无结果,则client查看本地的DNS缓存服务器:若无结果,则查找所属域的首选DNS服务器:若此时本地首选DN

(转)linux 中特殊符号用法详解

linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员  $普通用户 脚本中 #!/bin/bash   #!/bin/sh井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行. # This line is comments.echo "a = $a" # a = 0由于这个特性,当临时不想执行某行指令时,只需在该行开头加上 # 就

Samba服务配置详解(匿名,身份,别名,访问控制,挂载访问)

Samba服务配置详解 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还

linux中的FTP服务配置详解

本文主要内容有:linux中安装vsftpd(也就是FTP服务). 1.使用匿名用户上传和下载文件. 2.使用身份验证的方式上传和下载文件. 3.建立虚拟用户(步骤比较多). 4.为单独的用户建立单独的上传和下载机制(花那么多时间只是为了您知道"兂"这个字). 首先是安装vsftpd服务(也就是FTP服务),安装完成之后使用rpm -qc vsftpd查看文件的安装目录,也可以使用grep命令过滤掉以#开头的注释文件并查看配置文件. 下面是关闭iptables防火墙和SElinux策略

用三种不同的方法访问Linux系统上的FTP服务过程详解

今天向大家介绍一下,如何在Linux上配置ftp服务,并且使用三种不同的方式访问Linux系统上的FTP服务. 实验环境:一台windows7系统虚拟机,一台Linux系统虚拟机. 实验目的:搭建FTP文件传输服务,并进行匿名访问.虚拟用户访问和本地用户验证. 匿名访问用户名为ftp或anonymous,提供任意密码(包括空密码)都可以通过服务器认证 安装软件包,关闭防火墙和关闭selinux功能. 在ftp服务中创建一个wen.txt文件 测试(window7) 匿名登录ftp服务 从ftp服

linux中ftp服务的搭建与介绍

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload). 安装vsftp(vsftp应该是一款不错的ftp软件.)y

linux ftp服务配置文件详解

安装ftp服务: yum install vsftpd -y vsftpd配置文件----------常用配置项-----------listen=YES:是否以独立运行的方式监听服务listen_address=192.168.4.1:设置监听的 IP 地址listen_port=21:设置监听 FTP 服务的端口号write_enable=YES:是否启用写入权限(影响整个服务器)download_enable=YES:是否允许下载文件userlist_enable=YES:是否启用 use

Linux下ftp和ssh详解

学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Archlinux,我是基于vsftpd来搭建的,首先需要安装它: pacman -S vsftpd 接着对其配置文件进行编辑,打开/etc/vsftpd.conf(也可能在/etc/vsftdp/.vsftpd.conf) 以下是我的配置文件内容: 在以上的配置文件中,我们允许匿名用户登录,并且其有删除

Linux 部署vsftp服务及详解

一.FTP服务概述: FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol: 文件传输协议)作用: Internet 上用来传送文件的协议 可以在局域网传输,当然也可以在广域网传输ftp文件. vsftp:(Linux系统相称,也是Linux系统中的安装包名称) VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Ver