FTP 服务搭建

FTP 服务搭建

最近一直偷懒,没有上传博客,最近工作中正好要搭建FTP,来写个博客吧。
同志还需努力啊,天天犯懒以后只能去吃土了。

首先介绍一下我的实验环境:CentOS6.7,内核2.6

[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[[email protected] ~]# uname -a
Linux CentOS-6 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

实验中我是关闭了selinux和iptables

[[email protected] ~]# getenforce
Disabled
[[email protected] ~]# chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
如何关闭selinux,iptables
  • selinux
    编辑 /etc/selinux/config 文件,调整参数 SELINUX=disabled
  • iptables
    执行 chkonfig iptables off,查看命令 chkconfig --list iptables

安装 ftp 服务

安装是很简单的,直接执行 yum 命令,轻松又愉快。
养成好习惯,安装完成后检查一下,是否安装成功。

yum -y install vsftpd
rpm -qa | grep vsftpd
vsftpd-2.2.2-24.el6.x86_64

用户在登录 ftp 服务器时用户名和密码都是使用明文传送,尤为的不安全,所以下面实验的要求是

1.禁止匿名用户登录(anonymous)
2.禁止系统用户登录
3.启用虚拟用户登录,并指定虚拟用户登录后的家目录(管理员指定的家目录)

配置 ftp 服务

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

上面已经安装了 ftp 服务,启动 ftp 并查看其 21 端口是否正常工作

[[email protected] ~]# /etc/init.d/vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]
[[email protected] ~]# netstat -tlunp | grep vsf
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      1890/vsftpd     

修改主配置文件,禁止匿名用户登录

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO

创建虚拟用户口令文件
可以随便自己起个名字,我这里就叫 vuser.txt
这个文件中就是需要登录的虚拟用户名和密码
格式:
用户1
密码
用户2
密码
后面会对这个文件进行加密处理,所以不用担心安全问题

cat /etc/vsftpd/vuser.txt
test1
1234
test2
1234

安装口令认证

yum -y install db4-utils

生成登录验证的二进制文件

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

开始啰嗦:咳咳
下面要实现的是不允许系统用户登录 ftp 服务,为什么禁止上面已经说了,因为 ftp 的用户名密码都是明文传送,很容易就被截获,很是不安全。
要禁止系统用户登录需要将 /etc/pam.d/vsftpd 文件中的内容全部注释,为啥?
其实具体我说不明白,只是系统用户登录 ftp 服务器都要经过这个文件,现在内容都被注释了,自然无法登陆了
注意:在主配置文件中(/etc/vsftpd/vsftpd.conf)文件中有一条选项,local_enable=YES(默认就是YES),大不可将其改为NO,因为即使是通过虚拟用户登录,我们下面的操作也是要创建一个 nologin 的系统用户,在将写入 vuser.txt 文件中的用户映射到这个系统用户上,从而实现虚拟用户登录
啰嗦完毕

编辑 /etc/pam.d/vsftpd 文件,注释所有内容,可以使用末行模式,开心还简单
末行模式的命令哈

:2,8s/^/#/g

光是注释还不够,还需要在 /etc/pam.d/vsftpd 文件中追加两行内容

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

建立本地映射用户并设置宿主目录权限(所有虚拟用户映射成为 vuser 用户)
要指定用户的bash shell为 /sbin/nologin
宿主目录的权限定义为 755

useradd -d /home/vftproot -s /sbin/nologin vuser
chmod 755 /home/vftproot/

在 /etc/vsftpd/vsftpd.conf 文件中添加内容

# 开启虚拟用户
guest_enable=YES
# FTP虚拟用户对应的系统用户
guest_username=vuser
# PAM认证文件(默认存在)
pam_service_name=vsftpd

到此为止 ftp 服务器就算是搭建完成了,在宿主上测试一下
介绍一下我的宿主机:win10
ftp 服务器地址:10.1.41.168
cmd 下 ftp 10.1.41.168
test1,test2用户可以登录,下载文件和目录(目录的下载在cmd命令行中无法实现,可以使用filezilla软件)
但是只能下载不能上传

上传报错

ftp> put ftp.txt
200 PORT command successful. Consider using PASV.
550 Permission denied.

下载成功

ftp> get zhao.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for zhao.txt (0 bytes).
226 Transfer complete.

可以通过修改主配置文件 /etc/vsftpd/vsftpd.conf 文件,允许虚拟用户进行上传下载

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

上面在命令是在宿主机上操作,如果执行命令时 cmd 的路径在 C:\Users\Administrator> 那么默认就下载到了这个目录
当要增加虚拟用户时,需要重新修改 /etc/vsftpd/vuser.txt 文件,并重新生成登录的二进制文件。

---------------------------------------------------------华丽的分割线----------------------------------------------------------

下面来个更帅的配置,指定用户登录后的家目录,并且不需要修改主配置文件

编辑 /etc/vsftpd/vsftpd.conf 文件,配置和上面一样,但是需要多加一条

user_config_dir=/etc/vsftpd/vusers_dir

创建上面的 vusers_dir 目录,这个目录存放的就是每个虚拟用户的登录文件了

mkdir /etc/vsftpd/vusers_dir

为虚拟用户建立配置文件

vim /etc/vsftpd/vusers_dir/test2
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/tmp/vtest2

创建用户登录后的上传下载文件的路径

mkdir /tmp/vtest2

更改 vcanglaoshi 这个目录的属主,vtest2 这个目录要满足 ftp 的上传权限和目录本身的读写执行权限
系统中所有虚拟用户都是 vuser,并不是 test2
chown vuser /tmp/vtest2/

最后一个小总:
上面环境中有两个用户,分别是 test1 和 test2 用户,
test1 登录后的目录是默认的 /home/vftproot/ 目录
test2 登录后是分割线下面我们配置的 /tmp/vtest2 目录

环境完成,OK。

原文地址:http://blog.51cto.com/aby028/2071352

时间: 2024-11-07 11:19:06

FTP 服务搭建的相关文章

FTP服务搭建与配置

14.4 exportfs命令 exportfs命令用来管理当前NFS共享的文件系统列表. Options:-a:全部卸载或全部挂载-r:重新挂载-u:卸载某个目录-v:显示共享目录 常用组合: exportfs -arv服务端更改配置文件后,不重启服务,直接执行该命令就可以使更改后的配置文件生效. 注意: 在重启nfs服务之前需要先将所有挂载点卸载,否则将发生程序错误,严重者会拖垮系统. 以上操作均在服务端进行!!! 14.5 NFS客户端问题 针对NFS4版本在centos6中应用存在如下问

[转帖]FTP服务搭建与配置

FTP服务搭建与配置 https://blog.csdn.net/zhengyshan/article/details/81058194 原作者写的很好.. 比我写的好一百倍.. 原创zhengyshan 发布于2018-07-15 22:52:06 阅读数 69 收藏展开 FTP介绍FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比

ftp服务搭建

一.FTP协议简介 1.什么是FTP协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源.默认情况下FTP协议使用TCP端口中的20和21这两个端口,其中20用于传输数据(客户端和FTP服务器进行文件传输或者列表的通道),21用于传输控制信息(客户端和FTP服务器进行沟通的

ftp服务搭建脚本和客户端ftp自动上传脚本

linux服务器搭建ftp服务脚本(在centos6.5和centos7上测试通过)(该脚本没有进行判断,需要自行清理环境)(该脚本只允许上传不允许下载,不允许使用匿名用户和本地用户登录) 安装脚本 #!/bin/bashsource /etc/rc.d/init.d/functions#安装vsftpdrpm -q vsftpdif [ $? -ne 0 ];thenyum install -y vsftpdfi#备份主配置文件cp /etc/vsftpd/ftpusers{,.bak}cp

第十五章 FTP服务搭建与配置

15.1 FTP介绍FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输.FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机.?小公司用的多,大企业不用FTP,因为不安全 15.2 使用vsftpd搭建 FTP(上)centos上自带vsftpdyum install -y vs

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

实验环境:在redhat6.5中安装配置FTP服务,并使用一台win7系统访问验证. 理论: FTP连接方式     支持两种连接模式:主动模式(Port)和被动模式(Pasv),这两种模式都是针对数据链路进行的,与控制链路无关. 主动模式工作过程: 1.客户端从自己的一个任意端口(N > 1024)和FTP服务器的21端口建立控制链路2.然后客户端发出Port指令告诉服务器连接自己的N+1端口来建立一条数据通道3.当FTP服务器接到这一指令时,会使用20端口连接用户在Port指令中指定的端口号

FTP服务搭建演示

本地用户搭建FTP和测试 vsfdpd.conf 的配置文件在 /etc/vsfdpd/vsfdpd.conf  1. 用 yum 在服务端安装vsftpd软件包 客户端安装 yum 安装 ftp 2.打开vsftpd.conf配置文件修改2处东东第12行匿名用户改成NO给关闭,第96行给开启 开启本地用户的家目录锁定,这样就OK了, 因为是ftp本地用户服务所以需要先创建一个普通用户和密码用客户端ftp登陆服务端输入账号和密码 如果出现下图代表成功成功搭建 如果连接失败,① 检查防火墙是否关闭

ftp服务搭建配置管理

ftp[file transfer protocol这是档案传输的通讯协议,也是一般最常用来传送档案的方式这是档案传输的通讯协议,也是一般最常用来传送档案的方式]是/tcp/ip的一种具体的应用,工作在OSI上的第七层,TCP/IP模型的第四层,是一种面向连接的协议,工作模式分为主动模式和被动模式 vsftpd是UNIX类操作系统上运行的服务器名称,它的名字代表"very secure FTP daemon",安全性是其设计与开发的一个重要目标,支持很多其他的FTP 服务器不支持的特征