http://down.51cto.com51CTO技术资料下载中心
关于vsftpd 虚拟用户通过PAM.d的认证.
(1) pam.d 认证机制是属于第三方安全认证机制,它提供认证接口,供使用。
(2) 制作DB文件(user-pwd) .(注意:转入到 /etc/vsftpd/目录下了)
A)先在写一个 account.txt :
Lisi_ftp #奇数行用户名
Lisi #偶数行密码
B) db_load -T –t hash -f account.txt accountabc.db(该文件下面要用到)
(3) 在 /etc/pam.d/中配置认证。注意的是,该目录下的配置文件名称与服务的名称相同,如我们配的是vsftpd ,则我们的配置文件名就为 vsftpd(该名称也会在vsftpd.conf中用到)。
在配置文件中,将原来的配置注释掉(但这样导致本地用户无法使用FTP,没有找到更好的解决办法)。
在配置文件中,添加两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/accountabc
account required /lib/security/pam_userdb.so db=/etc/vsftpd/accountabc
%%说明:accountabc 是我生成的DB文件(user-pwd),具体的操作在上面已经讲到。
(4)配置vsftpd.conf。这个配置项比较多,可以参考一些网上说明来进行
但是要使用虚拟用户,必须要配置以下几项:
guest_enable=YES
guest_username=xxxftp #该用户名是建立的linux用户,虚拟用户都通过他来实现登录
pam-service-name=vsftpd #上述提到的配置文件
(5)为每个虚拟用户配置相应的私有目录
在vsftpd.conf文件中添加一行:user_config_dir=/etc/vsftpd/userconfig/
(这个是虚拟用户目录使用的父目录这是自定义的)
然后,在userconfig/下面为每个虚拟用户配置专有配置文件,文件名为虚拟用户名,如lisi_ftp。在lisi_ftp文件中添加:local_root= /home/developteam/ftp/lisi/
%%说明:对于/home/developteam/ftp/lisi/ 中的lisi目录,要chmod 755,chown xxxftp
=============================
使用PYTHON 写的 自动生成 ftp用户设置的代码:
#!/usr/bin/env python
import subprocess
import os
infile = open('/etc/vsftpd/userconfig/list','r')
outfile = open('/etc/vsftpd/userconfig/ftplist','w')
lines = infile.readlines(100)
for line in lines:
equSqu = line.find("=")
username = line[:equSqu]
#generate ftp user private directory
os.mkdir('/home/developteam/ftp/'+username)
# chmod the new directory named $username to 755 ,and chown ftp
subprocess.call('chown ftp:ftp /home/developteam/ftp/'+username,shell=True)
subprocess.call('chmod 755 /home/developteam/ftp/'+username,shell=True)
# create and write user's local_root to the ftp single configure file : usrfile
usrfile = open('/etc/vsftpd/userconfig/'+username,'a+')
usrfile.write("local_root=/home/developteam/ftp/"+username + "/")
usrfile.flush()
usrfile.close()
userpwd = line[equSqu+1:]
outfile.write(username + "\n")
outfile.write(userpwd)
outfile.flush()
outfile.close()
infile.close()
# generate the user-pwd db file
subprocess.call('db_load -T -t hash -f /etc/vsftpd/userconfig/ftplist /etc/vsftpd/account.db',shell=True)
分享到:
相关推荐
### vsftpd配置文件详解 #### 一、概述 VSFTPD (Very Secure FTP Daemon) 是一款免费开源的FTP服务程序,在Linux系统中广泛使用。它不仅提供了强大的安全性,还支持多种认证方式以及灵活的配置选项。对于Ubuntu...
标题与描述均聚焦于“CentOS vsftpd配置解析及实例”,这暗示着文章将深入探讨如何在CentOS操作系统上配置vsftpd(Very Secure FTP Daemon),以搭建一个功能全面的FTP服务器。以下是对该主题的详细分析: ### 1. ...
vssftp配置文件详解,包含vsftpd所有配置文件路径和用途说明。
以上就是Redhat AS4下VSFTPD配置的基本步骤。在实际操作中,还需要注意防火墙设置,确保FTP和SSH端口(FTP默认为21,SSH默认为22)开放,以便外部客户端能够连接。此外,定期检查并更新VSFTPD的安全配置以防止潜在的...
VSFTPD 配置详解 VSFTPD 是一种功能强大且安全的 FTP 服务器软件,它提供了许多配置选项来满足不同的需求。本文将详细介绍 VSFTPD 的配置文件和参数,帮助读者更好地理解和使用 VSFTPD。 一、安装和配置 VSFTPD ...
Vsftpd的核心文件和目录包括:PAM认证配置文件/etc/pam.d/vsftpd,日志轮转备份配置文件/etc/logrotate.d/vsftpd,启动脚本/etc/rc.d/init.d/vsftpd,主目录/etc/vsftpd以及默认共享目录/var/ftp。用户配置文件/etc/...
VSFTPD配置详解 VSFTPD是一个功能强大且安全的FTP服务器,它可以在Linux系统中安装和配置,本文将详细介绍VSFTPD的安装、配置和使用。 一、安装VSFTPD 在Ubuntu系统中,可以使用以下命令安装VSFTPD: $sudo apt-...
Linux vsftpd 配置详解 Vsftpd 是一个非常安全的 FTP 守护进程,可以在 Linux 操作系统中使用。本文将详细介绍如何配置 vsftpd,以便实现 root 用户和普通用户的 FTP 登录。 一、Root 用户的 FTP 配置 1. 打开 /...
### Linux安装vsftpd配置FTP服务器详解 在Linux系统中,vsftpd是配置FTP服务的常用工具之一,因其安全性和稳定性而广受好评。本文将深入解析如何在Linux环境中安装与配置vsftpd,搭建FTP服务器,以及进行必要的安全...
《Vsftpd配置文件详解与应用》 Vsftpd(Very Secure FTP Daemon)是一款流行的FTP服务器软件,尤其在Linux系统中被广泛使用。其配置文件`/etc/vsftpd/vsftpd.conf`是控制Vsftpd行为的核心,通过调整配置参数,我们...
### vsftpd详细配置解读 #### 一、概述 VSFTPD (Very Secure FTP ...以上配置仅为VSFTPD配置文件的一部分,实际应用中还需根据具体需求调整其他选项。通过这些详细的配置,VSFTPD 能够为用户提供安全可靠的FTP服务。
2.1 修改vsftpd配置文件,设置不同的数据端口范围,以避免端口冲突。 2.2 使用listen_port选项为每个服务指定监听的不同端口号。 2.3 防火墙规则的调整,允许新的端口通过防火墙供FTP服务使用。 2.4 如果需要,可以...
### vsftpd虚拟用户的配置详解 #### 一、虚拟用户概念 在介绍具体的配置步骤之前,我们先来了解一下什么是虚拟用户。虚拟用户是指在FTP服务器上使用的非真实系统账户,通常用于提高安全性以及方便管理和控制。 **...
vsftpd 配置详解 vsftpd 是一个基于 GPL 发布的类 UNIX 系统的 FTP 服务器软件,其全称是 Very Secure FTP Deamon,在安全性、速度和稳定性方面都有着不俗的表现。在安全性方面,vsftpd 针对程式的权限来设计,以...
Ubuntu系统下vsftpd配置文件