构建基于虚拟用户的vsftpd服务器并使数据加密传输
一、
首先配置你的yum源,确保路径正确。
vim /etc/yum.repos.d/server.repo(如果你的已经配置了,可以忽略此项)
关闭你的selinux避免出现不必要的错误
Setenforce 0

二、安装vsftpd
yum install vsftpd
service vsftpd start   //此时你就可以启动你的ftp了
在浏览器中输入ftp://192.168.0.86就可以登录了,这里的192.168.0.86是我的ip地址。
默认文件的存放位置是/var/ftp目录。你可以放文件到里面然后其它人就可以下载了。

三、取消匿名用户登录,并配置ssl实现数据的加密传输
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO             //禁止匿名用户登录
安装CA
cd /etc/pki/CA
(umask 66;openssl genrsa 2048 > private/cakey.pem) //给自己创建私钥cakey.pem
申请一个证书
openssl req –new –x509 –key private/cakey.pem –out cacert.pem –days 3650
定义CA相关配置选项
CN 国家代码
Henan 省
Zhengzhou 城市
RHCE 公司
Tech  部门
www.rhce.com 名字
ca@rhce.com 邮件地址
此时生成了CA的自签证书
修改配置文件
vim /etc/pki/tls/openssl.cnf
dir    =/etc/pki/CA        //dir指定CA在什么位置,
在文件下面可以修改你的个人信息(国家,省市等),等下次使用默认值就不用再次输入了
如果想要给别人颁发证书,certs、crl、newcerts三个目录是必须有的。另外还有两个文件index.txt 和serial
cd /etc/pki/CA/
mkdir certs crl newcerts
touch index.txt serial           (serial序列号文件)
echo 01 > serial              (从01开始)
客户端建立自己的密钥
cd /etc/vsftpd
mkdir ssl
cd ssl
(umask 66; openssl genrsa 2048 > vsftpd.key)    //生成自己的密钥
openssl req –new –key vsftpd.key –out vsftpd.csr    //向ca申请
…………
openssl ca –in vsftpd.csr –out vsftpd.crt
………….
Vim /etc/vsftpd/vsftpd.conf
在末尾输入
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key
四、建立虚拟用户
1、建立虚拟ftp用户的账号数据库文件
vim /etc/vsftpd/vusers.list
gentoo      //建立用户
123456      //用户密码
centos
123456
:wq
cd /etc/vsftpd
yum install db4-utils     //安装软件实现对vusers.list的转换,不转换系统不能识别
db_load –T –t hash –f vusers.list vusers.db
file vusers.db
chown 600 vusers.*     //更改权限
2、创建ftp根目录及虚拟用户映射的系统用户
mkdir /var/ftproot
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ftproot
3、建立支持虚拟用户的PAM认证文件
vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
:wq
4、在vsftpd.conf文件中添加支持配置
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
5、为个别虚拟用户建立独立的配置
mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
touch gentoo
vi centos
anon_upload_enable=YES
anon_mkdir_write_enable=YES
:wq
6、重新加载vsftpd配置
service vsftpd reload
最后使用gentoo和centos用户来登录验证一下创建结果

转载于:https://blog.51cto.com/abliq/641062

linux__ftp相关推荐

最新文章

  1. 【javascript 变量和作用域】
  2. 1万条数据大概占多大空间_9月漫画数据月报丨多平台评论数,收藏数较上月大幅下降...
  3. fillstyle属性_html设置或返回用于填充绘画的颜色渐变或模式的属性fillStyle
  4. python通过connect对象连接数据库对吗_Python连接数据库学习之DB-API详解
  5. Super VLAN
  6. 开启 Windows 10 中的「卓越性能」电源计划
  7. 计算机联锁论文开题报告,学生论文开题报告评语
  8. 基于kettle8的web端调度监控平台
  9. 微信3.7版本后,个人数据文件夹的乱码文件夹怎么找文件?
  10. 51单片机向PC端发送字符
  11. Mosquitto安装配置和使用指南
  12. 【Android】【打开方式】Android11用其它应用打开微信文件
  13. Scons入门指南 使用教程 笔记
  14. pagehelper插件显示total为-1或1
  15. 常见的积分商城游戏类型有哪些?
  16. win10锁屏聚集图片不更新,右上角没有出现喜欢的按钮,怎么办?
  17. ZZULIOJ1198: 考试排名(二)(结构体专题)
  18. 使用Hydra通过ssh破解密码
  19. 有未经处理的异常: Microsoft C++ 异常: cv::Exception
  20. Python编程从入门到实践:动手试一试:5-1~5-13

热门文章

  1. c# 两个数的加减乘除
  2. Android与Libgdx环境配置
  3. linux如何过滤字符串,在linux系统如何grep过滤中,不包含某些字符串的命令
  4. 全国计算机等级考试题库二级C操作题100套(第04套)
  5. 关键词联想关联 php,ECSHOP商品关键词模糊分词搜索插件,商品列表关键字加红功能...
  6. 湖北大学 计算机考研,湖北大学考研难吗?一般要什么水平才可以进入?
  7. 存储知识:U盘的实际容量要比标注容量小,你知道原因吗?
  8. SQL语言基础:数据库语言概念介绍
  9. 什么是 Native、Web App、Hybrid、React Native和Weex?
  10. C# 哈希表(Hashtable)用法笔记