CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户
CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户
2012-02-22 17:18:15| 分类: rhel_vsftp|举报|字号 订阅
centos 5.5编译安装vsftpd-2.3.4配置虚拟用户
环境:centos 5.5+Vsftpd-2.3.4
一、下载当前vsftp最新版本
二、安装前准备
1、创建虚拟用户映射的本地用户wwwftp
- useradd wwwftp -d /data/www -s /sbin/nologin
2、创建自定义配置目录
- mkdir -p /data/soft/vsftpd/conf
- mkdir -p /data/soft/vsftpd/bin
- mkdir -p /data/soft/vsftpd/lib
- mkdir -p /data/soft/vsftpd/user_conf
- mkdir -p /data/soft/vsftpd/empty
- mkdir -p /data/soft/vsftpd/logs
- mkdir -p /data/www
- mkdir -p /data/www/user1
- mkdir -p /data/www/user2
3、对自定义目录设置权限
- chown -R wwwftp:www /data/www
- chmod -R 700 /data/soft/vsftpd/empty/
- chown -R wwwftp:wwwftp /data/soft/vsftpd/empty/
4、复制用于验证用户登录的库文件到自定义目录方便管理
- cp /lib/security/pam_userdb.so /data/soft/vsftpd/lib/
5、安装所需软件
- yum -y install gcc db4* pam*
三、解压安装vsftpd
- tar zxvf vsftpd-2.3.4.tar.gz
- cd vsftpd-2.3.4
源码安装默认不支持tcp_wrappers和ssl
需要修改builddefs.h
- /*默认值如下:*/
- #undef VSF_BUILD_TCPWRAPPERS /*是否支持TCP WRAPPERS*/
- #define VSF_BUILD_PAM /*是否支持自定义虚拟用户登录*/
- #undef VSF_BUILD_SSL /*是否支持SSL传输*/
- /*支持则将对应项设为define,否则设为undef*/
编译vsftpd
- make
查看编译的vsftpd二进制文件是否加载了pam
- ldd vsftpd
如下:
- [root@CentOS5 vsftpd-2.3.4]# ldd vsftpd
- linux-gate.so.1 => (0x00628000)
- libwrap.so.0 => /lib/libwrap.so.0 (0x00cee000)
- libnsl.so.1 => /lib/libnsl.so.1 (0x0015f000)
- libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)
- libdl.so.2 => /lib/libdl.so.2 (0x007dc000)
- libresolv.so.2 => /lib/libresolv.so.2 (0x008d8000)
- libutil.so.1 => /lib/libutil.so.1 (0x00110000)
- libcap.so.1 => /lib/libcap.so.1 (0x00d99000)
- libc.so.6 => /lib/libc.so.6 (0x0029a000)
- libaudit.so.0 => /lib/libaudit.so.0 (0x00114000)
- /lib/ld-linux.so.2 (0x004a2000)
看到libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)表示已成功加载pam认证模块
- cp vsftpd /data/soft/vsftpd/bin
四、配置vsftpd
1、创建主配置文件
- vi /data/soft/vsftpd/conf/vsftpd.conf
如下:
- local_enable=YES
- anonymous_enable=NO
- anon_upload_enable=NO
- anon_other_write_enable=NO
- anon_mkdir_write_enable=NO
- ftpd_banner=Welcome to FTP service.
- listen=YES
- listen_port=21
- connect_from_port_20=YES
- nopriv_user=nobody
- tcp_wrappers=YES
- chroot_local_user=NO
- chroot_list_enable=YES
- chroot_list_file=/data/soft/vsftpd/chroot_list
- userlist_enable=yes
- userlist_deny=no
- userlist_file=/data/soft/vsftpd/allow
- dual_log_enable=YES
- vsftpd_log_file=/data/soft/vsftpd/logs/vsftpd.log
- xferlog_enable=YES
- xferlog_file=/data/soft/vsftpd/logs/xferlog
- pasv_enable=YES
- pasv_min_port=50000
- pasv_max_port=60000
- guest_enable=YES
- guest_username=wwwftp
- pam_service_name=vsftpd
- virtual_use_local_privs=YES
- use_localtime=YES
- user_config_dir=/data/soft/vsftpd/user_conf
- secure_chroot_dir=/data/soft/vsftpd/empty
2、创建允许登录ftp的用户文件
- vi /data/soft/vsftpd/allow
如下:
- user1
- user2
3、创建用于锁定用户目录的用户列表文件
- vi /data/soft/vsftpd/chroot_list
如下
- user1
- user2
4、配置vsftpd的pam认证模块(用于虚拟用户认证)
- vi /etc/pam.d/vsftpd
如下
- auth required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login
- account required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login
保存退出
5、创建用户名密码文本文件
- vi /data/soft/vsftpd/login.txt
如下:一行用户名一行密码
- user1
- 123456
- user2
- 654321
保存退出
6、用db_load生成用户数据库
- db_load -T -t hash -f /data/soft/vsftpd/login.txt /data/soft/vsftpd/login.db
- chmod 600 /data/soft/vsftpd/login.db
- rm -rf /data/soft/vsftpd/login.txt
7、配置虚拟用户自定义配置文件
- vi /data/soft/vsftpd/user_conf/user1
user1所有权限
- local_root=/data/www/user1
- write_enable=YES
- local_umask=022
保存退出
- vi /data/soft/vsftpd/user_conf/user2
user2只允许下载
- local_root=/data/www/user2
- write_enable=NO
- download_enable=YES
- local_umask=022
保存退出
8、启动vsftpd服务
- /data/soft/vsftpd/bin/vsftpd /data/soft/vsftpd/conf/vsftpd.conf &
五、测试
user1登录可读、写、删除、创建、修改一切权限
user2登录仅有下载权限

CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户的更多相关文章
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...
- centos 7.0 编译安装php 7.0.3
php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...
- CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3
http://www.osyunwei.com/archives/8867.html 一.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置 ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...
- CentOS 6.4 下安装vsftpd
概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftp ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
说明: 操作系统:CentOS 6.2 32位 系统安装教程:CentOS 6.2安装(超级详细图解教程): http://www.osyunwei.com/archives/1537.html 准备 ...
- CentOS 6.4编译安装淘宝web服务器Tengine
Tengine 是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商城 ...
- CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27
CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27 说明: 操作系统:CentOS 6.8 32位 准备篇: 一.系统约定 软件源代码包存放位 ...
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法分享
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- Centos 6.8编译安装LNMP环境
Centos 6.8编译安装LNMP环境 参考资料: http://www.jb51.net/article/107429.htm https://phperzh.com/articles/1360 ...
随机推荐
- Java 练习题 5岁的狗按人的年龄计算的话,前两年每一年是人的 10.5岁,之后每一年 * 增加4岁。如果5岁的狗、相当于人的多少年龄 * 10.5 + 10.5 + 4 +4 +4=33岁
1 /*** 2 * 练习题 3 * 5岁的狗按人的年龄计算的话,前两年每一年是人的 10.5岁,之后每一年 4 * 增加4岁.如果5岁的狗.相当于人的多少年龄 5 * 10.5 + 10.5 + 4 ...
- Redis集群Cluster
Redis Cluster 是社区版推出的 Redis 分布式集群解决方案,主要解决 Redis 分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster 能起到很好 ...
- centos7 开机自动执行脚本
1.因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2.赋予脚本可执行权限假设/usr/loc ...
- AutoNumber VsCode插件开发
AutoNumber VsCode插件开发 ::: details 目录 目录 AutoNumber VsCode插件开发 Step. 2: 安装脚手架 Step. 3: 创建空项目 Step. 4: ...
- 关于Android studio无法勾选SDK的问题
这是我遇到的问题,相信也是大多数人遇到的问题,我的经历是之前下载过一次Android studio,用过一段时间后虚拟机出问题了,一直连不上,我都是用手机代替运行,发现太麻烦了,还是决定重新一遍,于是 ...
- 3DCAT实时渲染云在虚拟展会中的应用
随着互联网技术的不断发展,实时3D可视化技术在日常生活中应用越来越广泛,越来越多的行业开始转向线上.今年受新冠肺炎疫情影响很多展会都无法在线下举办,而3d线上虚拟展会采用了全新的在线展示产品方式,将展 ...
- 记录--五个有用的iframe踩坑问题,快收藏!
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 你不会还不知道iframe不能嵌入百度首页吧?为了丰富用户体验,我们常常会将其他网站的内容嵌入到自己的网页中.然而,随之而来的是一个常见的 ...
- 开发必会系列:《Java多线程编程实战》读书笔记
如何判断是否开启超线程 一 基础 进程是程序向操作系统申请资源(如内存空间和文件句柄)的基本单位.线程是进程中可独立执行的最小单位. 在Java平台中创建一个线程就是创建一个Thread类(或其子类 ...
- 【Spring注解驱动开发】你敢信?面试官竟然让我现场搭建一个AOP测试环境!
写在前面 今天是9月1号,金九银十的跳槽黄金期已拉开序幕,相信很多小伙伴也在摩拳擦掌,想换一个新的工作环境.然而,由于今年疫情的影响,很多企业对于招聘的要求是越来越严格.之前,很多不被问及的知识点,最 ...
- 在命令行中使用 cl.exe编译 C/C++ 程序并执行
cl.exe是Microsoft C/C++编译器. 我的VC6.0安装目录为:D:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev9 ...