vsftp or pureftpd
//这个软件比vsftp配置起来更加灵活和安全。 /*官网是 http://www.pureftpd.org/project/pure-ftpd*/
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.32.tar.bz2
[root@localhost src]# tar jxf pure-ftpd-1.0.32.tar.bz2
[root@localhost src]# cd pure-ftpd-1.0.32
[root@localhost pure-ftpd-1.0.32]# ./configure \
--prefix=/usr/local/pureftpd \
--without-inetd \
--with-altlog \
--with-puredb \
--with-throttling \
--with-peruserlimits \
--with-tls
[root@localhost pure-ftpd-1.0.32]# make
[root@localhost pure-ftpd-1.0.32]# make install
[root@localhost pure-ftpd-1.0.32]# cd configuration-file
[root@localhost pure-ftpd-1.0.32]# mkdir -p /usr/local/pureftpd/etc/
[root@localhost configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
[root@localhost configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl
[root@localhost configuration-file]# chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
[root@localhost configuration-file]# vim /usr/local/pureftpd/etc/pure-ftpd.conf
//拷贝
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous no
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
LimitRecursion 3136 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid
MaxDiskUsage 99
CustomerProof yes //启动pureftpd
[root@localhost ~]# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf //启动成功,会显示一行长长的以Running开头的信息 //建立系统用户及它所属的目录
[root@localhost ~]# mkdir /data/www/
[root@localhost ~]# useradd www
[root@localhost ~]# chown -R www:www /data/www/ //建立虚拟用户,使其与系统用户关联起来 ****因为如果用系统用户身份登录ftp服务器,则需要知道用户的用户名和密码,这样不安全。
所以创建一个虚拟用户,映射到系统用户,进入ftp服务器。但并不具有系统用户的权限,只可以进入系统用户对应的目录*******
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw useradd ftp_user1 -uwww -d /data/www/ //这里可将pure-pw这个命令做个别名
Password:
Enter it again:
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw mkdb //创建用户信息数据库文件 //再添加一个虚拟用户
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw useradd ftp_user2 -uwww -d /tmp
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw mkdb //创建一个虚拟用户就要创建一个用户信息数据库文件
//列出当前的账号
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw list //删除账号
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw userdel ftp_user2
编译时出现的错误!!!
1.configure: error: OpenSSL headers not found.
解决方法: --》 pkg install -y openssl-devel
二、测试pureftpd
//测试需要工具
[root@localhost ~]# pkg install -y lftp //测试
[root@localhost ~]# touch /data/www/123.txt
[root@localhost ~]# lftp ftp_user1@127.0.0.1
口令:
lftp ftp_user1@127.0.0.1:~> ls
drwxr-xr-x 2 514 www 4096 Jun 12 11:14 .
drwxr-xr-x 2 514 www 4096 Jun 12 11:14 ..
-rw-r--r-- 1 514 www 0 Jun 12 11:14 123.txt //登陆后,使用 ls 命令可以列出当前目录都有什么文件。
====================我是分割线。================
1.安装源码包
[root@localhost ~]# pkg install -y vsftpd db4-utils
2.建立系统用户
[root@localhost ~]# useradd -s /sbin/nologin virftp //建立虚拟账号相关联的系统账号
3.建立虚拟用户信息文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd_login //建立虚拟账户相关的文件
//加入
/*此文件单行为用户名,
双行为密码*/
test1
123456
test2
abcdef
4.修改文件权限
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login
5.生成库文件
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db //生成对应的库文件
6.建立装虚拟用户配置文件的文件夹
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf //建立虚拟账号相关的目录以及配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd_user_conf/test1 //创建用户test1对应的配置文件
//加入
local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000 7.建立虚拟用户的ftp文件夹
[root@localhost ~]# mkdir -p /home/virftp/test1 //用户名test1的ftp文件夹
[root@localhost ~]# chown -R virftp:virftp /home/virftp
8.将虚拟用户的文件配置到pam上
[root@localhost ~]# vim /etc/pam.d/vsftpd
//在开头添加两行,在这里配置存放账号密码的文件
/*如果Linux系统是64位的,改为/lib64/security/pam_userdb.so*/
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 9.修改vsftpd的配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
//按要求修改
...
...
anonymous_enable=YES改为anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
#chroot_local_user=YES 将注释去掉
...
...
#文件最尾部加入
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
10.启动服务
[root@localhost ~]# /etc/init.d/vsftpd start ****启动失败****
如果同时有两个ftp在服务器上,检查是否21端口被占用 **************
二、测试vsftpd
[root@localhost ~]# pkg install -y lftp
[root@localhost ~]# cat /etc/vsftpd/vsftpd_login
test1
123456
test2
abcdef
[root@localhost ~]# lftp test1@127.0.0.1
口令:
lftp test1@127.0.0.1:~> ls
lftp test1@127.0.0.1:~> quit
[root@localhost ~]# cd /home/virftp/test1
[root@localhost ~]# touch 2.txt
[root@localhost ~]# mkdir 123
[root@localhost ~]# lftp test1@127.0.0.1
口令:
lftp test1@127.0.0.1:~> ls
drwxr-xr-x 2 0 0 4096 Apr 16 13:39 123
-rw-r--r-- 1 0 0 0 Apr 16 13:39 2.txt
配置vsftpd遇到的错误:
lftp test1@127.0.0.1:~> ls
ls: 登录失败: 500 OOPS: bad bool value in config file for: anon_upload_enable --> 因为你的那个YES/NO 布尔值(bool value)后边加了一个空格,即:
anon_upload_enable=NO空格 查看/etc/vsftpd/vsftpd.conf 和 /etc/vsftpd/vsftpd_user_conf/test1 中
anon_upload_enable=NO后有无空格 正确的格式应该是:
anon_world_readable_only=NO(无空格)!!!!!!
注意,NO后边的空格,要用退格键将其删除。
vsftp or pureftpd的更多相关文章
- Centos 安装pureftpd工具
之前由于vsftp上传文件会导致权限变更,因此一直不太想用ftp工具,一直sftp了,这样就导致权限过大,用户对家目录下所有文件都有权限,很容易误删其他文件.最近听同事说pure-ftp工具不错,试了 ...
- centos pure-ftpd配置及错误解决
使用yum安装pure-ftpd Pure-FTPd是Linux上的一个开源的FTP服务程序,在易用性.配置性上比vsftp较方便,下面我们使用centos6演示安装和配置pure-ftpd. 安装e ...
- ftp--vsftp\pureftpd
FTP是File Transfer Protocol(文件传输协议),用于Internet上的控制文件的双向传输. 现今常用在一个局域网内,如学校.公司等一个指定范围的区域.(因为太过于简单和不安全) ...
- FTP vsftp 安装、管理
FTP简介 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为文传协议,用户Internet上的控制文件的双向传输. FTP的主要作用,就是让用户链接上一个远 ...
- vsftp服务器搭建
1.FTP的主动模式和被动模式的区别: 最大的区别是数据端口并不总是20, 主动模式和被动模式的优缺点: 主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利.因为FTP服务器企图与客户端 ...
- xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务
6月25日任务 15.4 xshell使用xftp传输文件15.5 使用pure-ftpd搭建ftp服务扩展vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.co ...
- centos 7 搭建vsftp
一.FTP简介 1.ftp 概述 FTP:(file transfer protocol文件传输协议) ...
- Linux centosVMware xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务
一.xshell使用xftp传输文件 Ctrl+Alt+F 弹出 下载进入 填写任意名字,自己邮箱 进入邮箱点击网址就自动下载了 然后安装 二.使用pure-ftpd搭建ftp服务 yum insta ...
- Centos6.5中安装和配置vsftp详细总结
一.vsftp安装篇 #查看是否安装:rpm -qa|grep vsftpd#卸载vsftpdrpm -e vsftpd-2.2.2-11.el6_3.1x86_64 --nodeps# 安装vsft ...
随机推荐
- 微软收购跨平台移动应用开发商Xamarin
微软今天宣布收购移动应用跨平台开发商 Xamarin.收购金额未知.Xamarin 提供了通过 C# 开发 iOS.Android 和 Windows 原生移动应用的工具,以及云端应用測试平台 – 全 ...
- 【DataStructure】Some useful methods about linkedList.
/** * Method 1: Delete the input element x * and meanwhile keep the length of array after deleted n ...
- atitit.自己动手开发编译器and解释器(2) ------语法分析,语义分析,代码生成--attilax总结
atitit.自己动手开发编译器and解释器(2) ------语法分析,语义分析,代码生成--attilax总结 1. 建立AST 抽象语法树 Abstract Syntax Tree,AST) 1 ...
- Atitit.解决org.hibernate.DuplicateMappingException: Duplicate class/entity mapping
Atitit.解决org.hibernate.DuplicateMappingException: Duplicate class/entity mapping 1. 排除流程::: @Depreca ...
- 50篇经典珍藏 | Docker、Mesos、微服务、云原生技术干货
概念篇 全方位探(tian)索(keng)Mesos各种存储处理方式 老肖有话说@Mesos User Group第四次约会 技术实践 | Mesos 全方位“烹饪”指南 回顾 JAVA 发展轨迹,看 ...
- visual studio 2013 触发挂起事件
在 VS2013 中调试 winddows phone 或者 win rt 程序的时候,需要手动触发 “挂起” 事件. 如果找不到这个按钮: 1.打开菜单栏中的 “自定义” 对话框: 2.选择调试位置 ...
- js eval深入
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- 一款jquery和css3实现的卡通人物动画特效
之前为大家分享了很多jquery和css3的动画实例.今天给大家带来一款非常炫的jquery和css3实现的卡通人物动画特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: < ...
- 素数 + 背包 - SGU 116. Index of super-prime
Index of super-prime Problem's Link Mean: 如果一个素数所在的位置还是素数,那么这个素数就是超级素数,比如3在第2位置,那么3就是超级素数. 现在给你一个数,求 ...
- 关于ajax跨域的一些说说
跨域:跨当然是跨过去,域当然是别的服务器 (说白点就是去别服务器上取东西) 只要协议.域名.端口有任何一个不同,都被当作是不同的域 ajax 是一种请求响应无刷新技术(xmlhttqrequest对象 ...