Vsftpd supports virtual users with PAM (pluggable authentication modules). A virtual user is a user login which does not exist as a real login on the system in /etc/passwd and /etc/shadow file. Virtual users can therefore be more secure than real users, because a compromised account can only use the FTP server but cannot login to system to use other services such as ssh or smtp.
Required software
- Berkeley DB (version 4) databases
- pam_userdb.so
Install Berkeley DB And Utilities Under RHEL / CentOS
Type the following command:# yum install db4-utils db4
Create The Virtual Users Database
To create a "db4" format file, first create a plain text files with the usernames and password on alternating lines. For e.g. create user called "vivek" with password called "vivekpass" and sayali with password "sayalipass":# cd /etc/vsftpd
# cat > vusers.txt
Sample output:
vivek vivekpass sayali sayalipass
Next, create the actual database file like this:# db_load -T -t hash -f vusers.txt vsftpd-virtual-user.db
# chmod 600 vsftpd-virtual-user.db
# rm vusers.txt
Configure VSFTPD for virtual user
Edit the vsftpd configuration file. Add or correct the following configuration options:
anonymous_enable=NO local_enable=YES # Virtual users will use the same privileges as local users. # It will grant write access to virtual users. Virtual users will use the # same privileges as anonymous users, which tends to be more restrictive # (especially in terms of write access). virtual_use_local_privs=YES write_enable=YES # Set the name of the PAM service vsftpd will use # RHEL / centos user should use /etc/pam.d/vsftpd pam_service_name=vsftpd.virtual # Activates virtual users guest_enable=YES # Automatically generate a home directory for each virtual user, based on a template. # For example, if the home directory of the real user specified via guest_username is # /home/virtual/$USER, and user_sub_token is set to $USER, then when virtual user vivek # logs in, he will end up (usually chroot()'ed) in the directory /home/virtual/vivek. # This option also takes affect if local_root contains user_sub_token. user_sub_token=$USER # Usually this is mapped to Apache virtual hosting docroot, so that # Users can upload files local_root=/home/vftp/$USER # Chroot user and lock down to their home dirs chroot_local_user=YES # Hide ids from user hide_ids=YES
Save and close the file.
Create a PAM File Which Uses Your New Database
The following PAM is used to authenticate users using your new database. Create /etc/pam.d/vsftpd.virtual:# cat > /etc/pam.d/vsftpd.virtual
Append the following:
#%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user account required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user session required pam_loginuid.so
Create The Location Of The Files
You need to set up the location of the files / dirs for the virtual users. Type the following command:# mkdir /home/vftp
# mkdir -p /home/vftp/{vivek,sayali}
# chown -R ftp:ftp /home/vftp
Restart The FTP Server
Type the following command:# service vsftpd restart
Test Your Setup
Open another shell session and type:$ ftp ftp.nixcraft.net
Sample output:
Connected to ftp.nixcraft.net.in. Name (localhost:root): vivek 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>
Sample log from /var/log/secure:# tail -f /var/log/secure
Output
May 21 16:54:28 xentest vsftpd: pam_userdb(vsftpd.virtual:auth): user 'vivek' granted access
相关推荐
### vsftpd FTP Server "ls.c" 远程拒绝服务漏洞详解 #### 一、漏洞概述 **vsftpd**(Very Secure FTP Daemon)是一款专为UNIX类平台设计的安全FTP服务器软件,因其高度的安全性和稳定性而被广泛部署于各类网络...
本文将详细介绍如何通过集成vsftpd(Very Secure FTP Daemon)、PAM(Pluggable Authentication Modules)以及MySQL数据库来实现这一目标。这个配置允许你创建虚拟用户,通过MySQL数据库进行身份验证,从而提高系统...
比如,可能需要开启`anonymous_enable=NO`来禁用匿名访问,设置`pam_service_name=ftp`来指定PAM服务名称,以及可能需要设置`sql_user`、`sql_pass`、`sql_db`和`sql_host`等参数来连接MySQL。 在确保所有组件正确...
而**Db4**(Berkeley DB 4)则是一种高性能嵌入式数据库系统,能够高效地存储和检索数据。结合两者,可以创建一个无需依赖系统用户账户即可运行的FTP服务,所有FTP用户的认证信息均保存在Db4数据库中,这大大增强了...
在构建大型、高可用性的FTP(File Transfer Protocol)服务时,使用LVS(Linux Virtual Server)、Keepalived和VSFTPd的组合是一个常见的解决方案。LVS提供负载均衡,Keepalived确保服务高可用,而VSFTPd是常用的FTP...
- `auth required pam_mysql.so host=localhost port=3306 db=vsftpd user=vsftpd password=vsftpd table=users use_first_pass=1 crypt=1` #### 三、注意事项与优化建议 - **安全性考量**: - 需要定期检查并...
【vsftpd pam验证】是FTP(File Transfer Protocol)服务器软件vsftpd(Very Secure FTP Daemon)中的一种安全验证方式。PAM(Pluggable Authentication Modules)是Linux系统中的一个模块化认证框架,允许系统管理...
Ubuntu Server 安装 VSFTPD FTP 服务器 Linux 服务器应用电脑资料 安装 VSFTPD FTP 服务器是 Linux 服务器应用电脑资料中的一部分,本文将详细介绍如何在 Ubuntu Server 10.4 上安装 VSFTPD FTP 服务器。 一、安装...
- 下载服务器软件,如开源的vsftpd、ProFTPD或商业的FileZilla Server。 - 配置服务器设置,包括监听端口(默认21)、用户账户、数据连接模式(主动或被动)以及防火墙/路由器的端口映射。 - 配置安全性,启用SSL...
sudo cp /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd ``` - 编辑`/etc/pam.d/vsftpd`,设置Vsftpd使用MySQL进行认证: ```bash sudo vim /etc/pam.d/vsftpd auth required /...
总之,在Ubuntu上配置FTP服务器,尤其是使用vsftpd时,正确安装和配置Berkeley DB库至关重要。这不仅确保了vsftpd的正常运行,也提高了系统的安全性和管理效率。理解这些基本概念有助于更好地管理和维护FTP服务,为...
在Red Hat Linux Server 6上搭建VSFTPD服务器是一个常见的任务,这主要涉及到FTP服务器的配置,以便提供安全且可控的文件传输服务。VSFTPD(Very Secure FTP Daemon)是一个流行的开源FTP服务器软件,因其安全性而...
为了实现多用户虚拟用户方式,需要在vsftpd.conf文件中设置virtual_use_local_privs=YES和virtual_users=ftp-test1,ftp-test2等参数。 结论 本文介绍了CentOS 8系统中配置vsftpd多用户FTP服务器的详细步骤,包括...
市面上有许多免费和商业化的FTP Server软件可供选择,如FileZilla Server、vsftpd等。根据需求选择合适的软件进行下载。 2. **安装FTP Server**:安装过程通常非常简单,只需按照安装向导的提示进行即可。安装过程中...
在本场景中,我们关注的是如何在CentOS 7.5上安装并配置VSFTPD(Very Secure FTP Daemon)服务器,以及FTP客户端。这两个组件可以通过提供的RPM(Red Hat Package Manager)安装包进行安装。 首先,VSFTPD是一个...
account required pam_mysql.so user=ftpuser password=<your_mysql_root_password> db=vsftpd table=users user_column=username password_column=password ``` 4.5 配置vsftpd的配置文件`vsftpd.conf` 编辑`/etc/...
21 -p 2020:20 -p 12020:12020 -p 12021:12021 -p 12022:12022 -p 12023:12023 -p 12024:12024 -p 12025:12025 -e "USER=myuser" -e "PASS=verysecretpwd" -d --volumes-from <data> -d emilybache/vsftpd-server:...
在本文中,我们将深入探讨如何在Ubuntu操作系统上配置和管理vsftpd(Very Secure FTP Daemon)服务器。vsftpd是一款安全、高效的FTP服务器软件,广泛应用于Linux系统中。以下是关于vsftpd安装、配置和注意事项的详细...
VSFTPD(Very Secure FTP Daemon)是一款非常安全的FTP服务器软件,主要在Unix-like系统上运行,如Linux。本文将详细介绍如何使用VSFTPD搭建FTP服务器,并探讨其配置与安全特性。 首先,安装VSFTPD是搭建FTP服务器...