2025年3月26日 星期三 甲辰(龙)年 月廿五 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 系统应用 > Linux

CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户 [原创]

时间:04-12来源:作者:点击数:199

CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户

环境:CentOS 5.5+Vsftpd-2.3.4

一、下载当前vsftp最新版本

  1. wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz    
  2. 貌似最近官方都下不了,在补一个本站的下载地址:   
  3. wget http://www.92csz.com/downloads/vsftpd-2.3.4.tar.gz  

二、安装前准备

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登录仅有下载权限

vsftpd

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门