ftp服务器搭建(一)

系统环境:RHEL6.5

IP地址:10.10.125.4

服务描述:

ftp服务器(File Transfer Protocol:文件传输协议):Internet上用来传送文件的协议

vsftp:一个基于GPL发布的linux系统上使用的FTP服务器软件,全称为Very Secure FTP;

工作模式:C/S

使用端口:21/20    其中20端口是数据传输端口,21是监听端口

安装:

rpm -ivh/mnt/Packages/vsftpd-2.2.2-6.el6_0.1.x86_64.rpm
or
yum -y install vsftpd

linux系统作为客户端访问需要安装lftp工具;该工具支持的文件协议包含:ftp;ftps,http,https,hftp,fish(其中ftps和https需要包含openssl库)。

特点:书签    ,排队,镜像,断点续传,多进程下载等功能。

相关配置文件位置:

/etc/vsftpd/
ftpusers                   #用于指定哪些用户不能访问ftp服务器,黑名单
user_list                  #用于指定哪些用户可以访问ftp服务器,白名单
vsftpd.conf                #vsftpd主配置文件
vsftpd_conf_migrate.sh     #vsftpd操作的一些变量和设置的脚本
/var/ftp/                  #默认匿名用户的根目录

启动服务器:

/etc/init.d/vsftpd {start|stop|restart|try-restart|force-reload|status}

查看监听端口:

netstat -anptu | grep ftp

访问方式:

windows系统:

地址栏:ftp://10.10.125.4

linux系统:

地址栏:lftp 10.10.125.4

应用实例:

1、搭建一台服务器允徐所有人访问,并允许用户自己创建用户目录

修改主配置文件:/etc/vsftp/vsftpd.conf

anonymous_enable=YES        #允许匿名用户登录
# Uncomment this to allow the anonymous FTP user to upload files. This only
anon_upload_enable=YES       #允许匿名用户上传
# Uncomment this if you want the anonymous FTP user to be able to create
anon_mkdir_write_enable=YES  #允许匿名用户创建目录

修改好主配置文件之后重启服务

service vsftpd restart

测试由于pub目录权限是755不能创建目录

可创建test目录,并修改属主

mkdir /var/ftp/test
chown ftp /var/vtp/test

2、现在有两个小组更新web站点内容,包括上传文件,创建目录和更新网页等。

创建账号user1,user2,该账号能登陆ftp服务器,但不允许登录本地系统,并将这两个账号的根目录限制到/var/www/html,不能进入该目录意外的任何目录

创建用户并设置默认密码:123456

[[email protected] vsftpd]# for id in {1,2};do useradd -s /sbin/nologin user${id};echo "123456" | passwd --stdin user${id};done

anonymous_enable=NO                          #禁止匿名用户登录

chroot_local_user=YES                             #允许本地用户登录

chroot_list_enable=YES                            #激活chroot功能

local_root=/var/www/html                      #设置本地用户的根目录

chroot_list_file=/etc/vsftpd/chroot_list   #设置锁定用户在根目录中的列表文件,此文件存放要锁定的用户名

保存

创建chroot_list文件

[[email protected] vsftpd]# touch /etc/vsftpd/chroot_list

[[email protected] vsftpd]#vim !$

user1

user2

将允许登录vsftp的用户添加至/etc/vsftpd/chroot_list文件中,每个用户名占一行空间

重启vsftpd服务使配置生效

service vsftpd restart

更改根目录访问权限

chmod -R o+w /var/www/html

完成相关设置

3、为ftp开设虚拟用户

功能:

1)为客户提供相关文档下载,对搜友互联网开放共享目录,云溪下载产品信息,禁止上传。

2)对公司合作单位能够使用ftp服务器上传和下载,但不能删除任何数据。

3)创建一公司内部用户具备所有权限。

4)关闭实体账号登录,使用虚拟账号验证机制,并对不同虚拟账号设置不同访问权限

5)为保证服务器性能,需要根据用户等级限制客户端的连接数以及下载速度。

创建用户文本文件:用户名位于奇数行,密码位于偶数行

[[email protected] vsftpd]# vim /etc/vsftpd/vsftpd_viruser.txt

ftp

123456

vip

123456

生成数据库

由于保存的用户名和密码无法直接被系统调用,因此需要使用db_load命令生成能被系统调用的数据库文件

检查文件是否安装,如果没有安装可以直接通过yum或rpm的方式进行安装

[[email protected] vsftpd]# rpm -qf `which db_load`

db4-utils-4.7.25-18.el6_4.x86_64

[[email protected] vsftpd]# rpm -ivh /mnt/Packages/db4-utils-4.7.25-18.el6_4.x86_64.rpm

[[email protected] vsftpd]# db_load -T -t hash -f /etc/vsftpd/vsftpd_viruser.txt /etc/vsftpd/vsftpd_viruser.db

生成数据库文件之后可以删除用户存储文件/etc/vsftpd/vsftpd_viruser.txt

修改数据库文件访问权限

[[email protected] vsftpd]# chmod 600 vsftpd_viruser.db

配置PAM文件

通过调用系统的PAM模块使服务器能够使用数据库文件,进而完成对客户端的身份验证。

PAM概述:

PAM(Plugable Authentication Module)可插拔认证模块,不必重新安装应用系统,通过修改指定的配置文件,调整对该程序的认证方式。PAM模块配置文件路径为/etc/pam.d/目录,此目录下保存着大量与认证有关的配置文件,应以服务名称命名。

[[email protected] vsftpd]# vim /etc/pam.d/vsftpd
在文件末尾添加一下两行内容,并将默认设置全部使用#注释掉
auth    required /lib64/secruity/pam_userdb.so db=/etc/vsftpd/vsftpd_viruser
account required /lib64/secruity/pam_userdb.so db=/etc/vsftpd/vsftpd_viruser

创建虚拟账号对应的系统用户及ftp共享的目录

[[email protected] vsftpd]# useradd -d /var/ftp/ftpvip ftpvip
[[email protected] vsftpd]# useradd -d /var/ftp/ftpuser ftpuser    
[[email protected] vsftpd]# chmod -R 700 /var/ftp/ftpvip/        #修改权限
[[email protected] vsftpd]# chmod -R 500 /var/ftp/ftpuser/

建立配置文件

由于该功能中一个配置文件无法实现,需要为每个虚拟账号建立独立的配置文件,并根据

[email protected] ~]# cat /etc/vsftpd/vsftpd.conf | grep -v ^#
anonymous_enable=NO                #禁止匿名用户登录
local_enable=YES                   #允许本地用户登录
write_enable=YES                   #允许本地用户可写
local_umask=022                    #默认umask掩码
dirmessage_enable=YES              #
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd             #配置vsftpd使用pam模块为vsftpd
chroot_local_user=YES
listen=YES                           #启用侦听指令,使vsftpd能够以独立模式运行监听,但这个指令不能与IPv6同时侦听使用
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/viruserconfig   #设置虚拟账号的主目录为viruserconifg
max_clients=300                     #设置ftp服务器最大接入客户端数量300个
max_per_ip=10                       #设置每个IP地址最大连接数位10个
[[email protected] ~]# vim /etc/vsftpd/viruserconfig/ftp
guest_enable=yes                #开启虚拟用户
guest_username-ftpuser          #定义虚拟用户名
anon_world_readable_only=no     #允许只读
anon_max_rate=50000             #限制传输速率为50kb/s

配置vip用户

[[email protected] ~]# vim /etc/vsftpd/viruserconfig/vip
guest_enable=yes
guest_username=ftpvip
anon_word_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_max_rate=100000

重启vsftpd服务生效

service vsftpd restart

验证发现不能登录报530错误

[[email protected] vsftpd]# lftp 10.10.125.4 -u vip
口令: 
lftp [email protected]:~> ls            
ls: 登录失败: 530 Login incorrect.              
lftp [email protected]:~>

服务端打开日志

[roo[email protected] vsftpd]# tail -f /var/log/secure
Aug 24 10:50:24 xuexi vsftpd[3381]: PAM unable to dlopen(/lib64/secruity/pam_userdb.so): /lib64/secruity/pam_userdb.so: cannot open shared object file: No such file or directory
Aug 24 10:50:24 xuexi vsftpd[3381]: PAM adding faulty module: /lib64/secruity/pam_userdb.so

可以得出是由于缺少相关模块导致登录失败

检查该文件是否存在

ls -lh /lib64/security/pam_userdb.so
-rwxr-xr-x. 1 root root 11K Oct  7  2013 /lib64/security/pam_userdb.so        
哈哈哈尴尬。。。。不细心那不细心。。。

发现模块已经存在仍然不能认证

ls: 登录失败: 500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list

使用注入用户名

echo "vip" >> /etc/vsftpd/chroot_list

echo "ftp" >> /etc/vsftpd/chroot_list

ls: 登录失败: 500 OOPS: missing value in config file for: guest_username-ftpuser

上边这个报错也是由于虚拟用户设置文件配置错误导致将按照提示改好之后即可。

登录测试:

lftp [email protected]:/ftpuser> ls
-rw-r--r--    1 0        0               6 Aug 24 05:41 1111.docx
-rw-r--r--    1 0        0         7884800 Aug 24 05:40 bin.tar

到此vsftpd配置完成

相关参考连接:http://1745027.blog.51cto.com/1735027/692653

时间: 2024-11-05 12:32:03

ftp服务器搭建(一)的相关文章

hadoop2.4.1的ftp服务器搭建

公司框架用的hadoop+hive,hive通过建立外部表(EXTERNAL TABLE)可以直接识别hdfs文件,也就是说如果直接把本地文件传到hdfs文件系统中,hive就可以自动识别数据.这期间需要一个ftp软件,可以沟通本地文件和hdfs软件,上网找到一个软件<hdfs-over-ftp>,地址为https://github.com/iponweb/hdfs-over-ftp,可惜这个是建立在hadoop-0.20基础上,作者好久不更新,现在用的环境是hadoop2.4.1,有些许变化

linux ftp服务器搭建

linux ftp服务 主动模式port:服务器主动发起数据连接.客户端向服务器21端口建立ftp数据连接.服务器从20端口向客户端随机端口发送数据. 被动模式pasv:服务器被动等待数据连接.如果客户机防火墙禁止主动模式,会采用被动模式.客户端向服务器21端口建立ftp数据连接.需要传输数据时,客户端向服务器设定范围内的端口(非20)建立数据连接. 开始: 关闭安全系统 setenforce  0 关闭防火墙 service  iptables stop 1.  安装软件包 mount   /

Linux之匿名FTP服务器搭建

FTP(File Transfer Protocol)是在服务器与客户端进行文件传输的一种传输协议.本次介绍的是vsftpd的软件体验ftp服务. FTP服务器默认情况下依据用户登录情况分为三种不同的身份: ①:实体用户,real user ②:访客,guest ③:匿名用户,anonymous 当然,本次主要讲的是基于CentOS6.5系统的匿名用户的ftp服务器搭建,不过其他Linux版本的系统也可参考. 准备工作: 安装ftp和vsftpd: 然后就可以启动你的ftp服务器了,具体启动指令

如何架设内网ftp服务器 搭建ftp yum源

1.启动系统,我是用iso镜像挂载,挂载到/iso mkdir  /iso mount -a -t iso9660 -o loop /dev/cdrom /iso2.安装FTP服务(如果系统已带则在桌面 管理-服务器设置-服务 可以很方便的启动vsftpd服务)cd /iso/Packages rpm -ivh vsftpd* chkconfig vsftpd on service vsftpd start3.安装createrepo的软件包cd /iso/Packages rpm -ivh c

FTP 服务器搭建 子网 permission cant&#39;t open data connection

FTP SERVER软件安装和设置 ftp 软件: Filezilla Server 设置 添加用户: edit->users 创建账户 设置命令行端口: general settings一栏listen on thest ports : yourport1 设置被动模式的工作端口号: passive mode settings一栏  use custom port range 设置范围30000-30010(随意) use the following ip一栏一定要填上最外层设备的公网IP地址

FTP服务器搭建与配置

FTP服务器搭建与配置 FTP介绍 使用vsftpd搭建ftp服务 xshell使用xftp传输文件 使用pure-ftpd搭建ftp服务 FTP介绍 FTP是File Transfer Protocol(文件传输协议,简称文件协议)的简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序) 并查看远程计算机中的文件,然后把文件从远程计算机复制到要地计算机,或是本地计算机的文件传送到远程计算机. 小公司用的多,大企业不

FTP-Linux中ftp服务器搭建

一.FTP工作原理 (1)FTP使用端口 [[email protected] ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp 21/tcp #控制链路:端口21 (2)FTP连接方式     支持两种连接模式:主动模式(Port)和被动模式(Pasv),这两种模式都是针对数据链路进行的,与控制链路无关. 主动模式工作过程: 1.客户端从自己的一个任意端口(N > 1024)和FTP服务器的21端口建立控制链路2.然

ftp服务器搭建及三种访问途径

FTP服务器搭建与三种访问途径一.什么是FTP二.FTP是如何搭建的三.FTP访问途径是哪三种1.FTP是一种文件传输协议,主要要的做用是客户端与服务器之间的文件传输功能实现2.FTP服务器是如何搭建的呢A.此处服务器我们在server2016上搭建,具体步骤如下:打开服务器管理器→添加角色和功能→web服务器(IIS)→角色服务(FTP服务器)→安装到这一步我们的FTP服务器算是安装好了B.FTP功能的实现有两种方式1.ip地址(这种方式一个ip地址只能搭建一个FTP服务器)具体步骤如下:Wi

Rumpus Pro for Mac(FTP服务器搭建工具)

Rumpus Mac将任何Mac变为完整的文件传输服务器.将文件发送给外部人员,或让客户端在安全,受控的环境中将文件直接上传到您的网络.Rumpus Mac支持FTP,FTPS,WebDAV,SFTP和完全可定制的Web文件传输接口,可以轻松地与任何人,任何地方安全地交换文件. Rumpus Mac特别版是运行自己的FTP和Web文件传输服务器的简便方法.允许您的客户使用专用的FTP客户端或任何标准Web浏览器轻松地将文件直接上传和下载到您的网络.Web界面支持Mac上的所有主要Web浏览器,可

linux-第十二课时笔记-[FTP服务器搭建]-[本地FTP]-[02]

FTP本地服务器搭建 yum安装vsftpd服务: [[email protected] ~]# yum -y install vsftpd 创建本地两个用户: [[email protected] ~]# useradd test1 [[email protected] ~]# useradd test2 [[email protected] ~]# echo "123" | passwd --stdin test1 &> /dev/null [[email prote