----转自网络!
首先是检查所需的RPM包是否齐全:
rpm -aq|grep vsftp rpm -aq|grep db4
我的CentOS 4.6是完全安装的,所以都有了 ^_^ :
[root@test02 ~]# rpm -aq|grep vsftp vsftpd-2.0.1-5.EL4.7
[root@test02 ~]# rpm -aq|grep db4
db4-devel-4.2.52-7.3.el4
db4-4.2.52-7.3.el4
db4-devel-4.2.52-7.3.el4
db4-tcl-4.2.52-7.3.el4
db4-4.2.52-7.3.el4
db4-java-4.2.52-7.3.el4
db4-utils-4.2.52-7.3.el4
建立低权限用户:
useradd vsftpd -s /sbin/nologin
安全、安全……..
设置基本的vsFTP配置文件,配置文件/etc/vsftpd/vsftpd.conf 如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
vsftpd_log_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=30
nopriv_user=vsftpd
async_abor_enable=YES
chroot_list_enable=NO
chroot_local_user=YES
chmod_enable=NO
ls_recurse_enable=NO
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
其实基本的配置没有太特殊的地方,就是禁止了匿名访问,改了vsFTP的运行用户,锁定用户的路径,真没有什么特殊的地方。到现在为止vsFTP就可跑起来了。
下面是重头戏了。
建立虚拟用户的爹,所谓虚拟用户不过是一名字,虚拟用户在系统中的权限全看他爹的权限,如果他爹的权限很低,那只能是“恨爹不成刚”了。
useradd overlord -s /sbin/nologin
建立虚拟用户数据库,总得找个地方保存虚拟用户的信息吧,保存在哪呢?在文件数据库中。新建一个文件写入如下内容:
vi /etc/vsftpd/virtusers
写入如下内容:
xinwen
p@ssw0rd
第一行是用户名,第二行是第一行用户名对应的用户的密码(比较拗口),如果愿意,可以多加几个用户,一行用户名紧接一行密码就可以了。
生成一下数据库:
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
配置虚拟用户的认证,有数据库保存这些用户信息了,vsFTP会乖乖地去读这些信息吗? 当然不会,我们要借助Linux的PAM认证。
将vsFTP的PAM认证配置文件/etc/pam.d/vsftpd修改成这样:
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意,我的是64位的Linux,如果是32位的Linux要写成 这样:
?123 #%PAM-1.0
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
网上有朋友反映pam_userdb.so完全可以不写全路径,不过没有试过。其次要注意,db的路径指向的文件名是没有.db后缀的,但是的的确确是去读 /etc/vsftpd/virtusers.db这个文件。
开启vsFTP对虚拟用户的支持,其实也很简单了,就在刚才 vsFTP 的配置文件 /etc/vsftpd/vsftpd.conf 最后加上以下几行:
guest_enable=YES
guest_username=overlord
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
细致设定每个虚拟用户,可能已经注意到 user_config_dir 这个参数了吧,这个参数就是用来描述每个虚拟用户的私有配置文件。在/etc/vsftpd/vconf/ 目录下建立一个文件,名叫xinwen,记住要和用户名对应,写入以下几行:
local_root=/opt/vsftp/xinwen
anonymous_enable=NO
write_enable=YES l
ocal_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
第一行是该用户(xinwen)的根目录,当然还要主要一下这个目录对虚拟用户他爹——overlord的权限问题啦,其他可以参照vsFTP配置文件的说明。
重启 vsFTP 就可以用xinwen这个虚拟用户登录了:
service vsftpd restart
怎么添加用户呢?其实就是修改文件数据库的事情,譬如我想增加一个叫做 cgx 的用户,密码也是 cgx 可以这样做:
mkdir -p /opt/vsftp/cgx
echo "cgx" >> /etc/vsftpd/virtusers
echo "cgx" >> /etc/vsftpd/virtusers
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db cp /etc/vsftpd/vconf/xinwen /etc/vsftpd/vconf/cgx
修改一下 /etc/vsftpd/vconf/cgx 的 local_root 为 /opt/vsftp/cgx 就可以了。注意,每一次修改用户都要用db_load命令重新生成文件数据库。
分享到:
相关推荐
本文介绍了CentOS5中vsftp虚拟用户配置的实例,包括安装db4-utils软件包、创建logins_list文件、生成vsftpd_login.db文件、配置PAM认证、创建vsftpd_user_conf目录、配置vsftpd.conf文件、重启vsftpd服务等步骤。...
VSFTP虚拟用户通常使用htpasswd工具创建和管理,它可以创建和加密密码。首先,安装`apache2-utils`包(包含htpasswd工具): ```bash sudo apt-get install apache2-utils ``` 然后,创建虚拟用户数据库和用户: `...
vsftp 虚拟用户详细介绍 在这篇文章中,我们将详细介绍 vsftp 虚拟用户的实现和配置过程。vsftp 是一个基于虚拟用户的 FTP 服务器软件,支持多种...通过以上步骤,我们可以成功地实现 vsftp 虚拟用户的认证和配置。
VSFTP虚拟用户机制通过将用户认证与系统用户分离,使得FTP服务可以独立于操作系统用户进行管理。通常,它会结合PAM(Pluggable Authentication Modules)或MySQL、PostgreSQL等数据库来存储用户信息。当用户尝试登录...
下面是一个vsftp虚拟用户搭建实例,包括安装vsftp,配置虚拟用户,实现不同用户不同权限。 一、安装vsftp 首先,需要下载最新的稳定版vsftpd-1.2.1.tar.gz,卸载原有的rpm的vsftpd,安装新的vsftpd。然后,创建一...
### vsftp Mysql认证配置详解 #### 一、前言 在互联网环境下,为了提高安全性以及更好地管理用户,很多服务提供商选择使用MySQL作为后端存储系统来管理FTP用户的认证信息。本文将详细介绍如何配置vsftpd(Very ...
接下来,我们需要配置PAM认证,允许VSFTP使用我们刚刚创建的虚拟用户数据库。编辑`/etc/pam.d/vsftpd.vu`文件,添加以下内容: ```bash auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list account...
配置虚拟用户涉及到更多的步骤,包括设置虚拟用户数据库、创建认证方法以及调整配置文件以支持虚拟用户。具体的配置过程可能因环境不同而有所差异,通常涉及设置`user_config_dir`、`auth_mechanisms`等参数,并创建...
2. 使用MySQL管理VSFTP虚拟用户:介绍了通过MySQL数据库管理VSFTP虚拟用户的方法,需要安装pam_mysql模块,该模块允许VSFTP通过PAM模块验证用户身份。文中指导了如何下载、编译和安装pam_mysql。 3. 配置MySQL...
本文将深入探讨Vsftp的安装过程、虚拟用户设置以及配置细节。 首先,我们来详细讲解Vsftp的安装步骤。在大多数Linux发行版中,可以通过包管理器进行安装。以Ubuntu或Debian为例,你可以使用`apt-get`命令: ```...
本文将详细介绍在Linux环境下配置vsftp的三种方法:匿名用户形式、本地用户形式以及虚拟用户形式。 ### 一、Vsftp的三种实现方式 1. **匿名用户形式**:默认安装后,系统仅允许匿名用户访问FTP服务器。匿名用户...
提供的"vsFTP虚拟用户设置.mp4"视频和"vsFTP服务器设置虚拟用户访问.pdf"文档应该会更详细地展示每个步骤的操作过程,包括可能出现的问题及解决方法。这种方法的优点是提高了安全性,因为每个虚拟用户都被限制在他们...
RedHat6 建立基于防火墙和SELinux的虚拟用户vsFTP 知识点一:安装vsFTP * RedHat6 安装vsFTP需要使用yum install vsftpd命令,安装的版本为vsftpd-2.2.2-6.el6.i686 * 为了建立匿名账户的vsFTP,还需要安装db4和...
`vsftp`(Very Secure FTP Daemon)是一个流行的选择,它支持多种用户类型,包括虚拟用户。本篇文章将详细讲解如何使用`vsftp`建立虚拟用户,并为这些用户分配不同的目录和权限。 首先,虚拟用户的主要优点在于它们...
以下是一个详细的VSFTP手工编译及配置虚拟用户的过程。 首先,你需要从官方站点或其他可靠的源下载VSFTP的源代码。例如,可以使用`wget`命令下载最新或指定版本的源代码包,如在示例中下载的是2.1.0pre4和2.0.7这两...
【Vsftp服务器配置】 Vsftp (Very Secure FTPd) 是一个非常受欢迎的开源FTP服务器软件,尤其适用于...通过这种方式配置的Vsftp服务器,能够提供安全的FTP服务,同时利用虚拟用户机制增强了账户管理的灵活性和安全性。
2. **编辑PAM认证配置文件:** - 编辑`/etc/pam.d/vsftpd`文件,添加以下行来启用数据库认证。 ```shell auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login.db account required pam_userdb.so db=/etc/...