Vsftpd虚拟用户设置
出自Ubuntu中文
本文作者:dbzhang800
授权许可:创作共享协议
适用版本:
文章状态:完成
目录
[隐藏]
* 1 目标
* 2 创建虚拟用户数据库
o 2.1 创建文本文件loguser.txt
o 2.2 生成数据库
* 3 配置PAM文件
* 4 为虚拟用户创建本地系统用户
* 5 /etc/vsftpd.conf
* 6 /etc/vsftpd_user_conf
* 7 能成?
[编辑] 目标
首先我们假定你已经安装了vsftpd,并在/home/ftp目录下建立了以下3个子目录
* dbzh1
* dbzh2
* dbzh3
下面,我们要建3个虚拟用户,密码分别是用户名后加"00"
* db1
* db2
* db3
使得
* 用户db1 的主目录为 dbzh1 ,在该目录下只有只读权限
* 用户db2 的主目录为 dbzh2,在该目录下只有只读权限
* 用户db3 的主目录为 dbzh3 ,在该目录下拥有所有权限
[编辑] 创建虚拟用户数据库
[编辑] 创建文本文件loguser.txt
格式如下:
user_id
password
于是,我们/home/loguser.txt文件的内容为
db1
db100
db2
db200
db3
db300
[编辑] 生成数据库
如果你以前没装过libdb4.6-util 或者你不清楚装没装,需先执行下面的命令
sudo apt-get install db4.6-util
然后,我们执行
sudo db4.6_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db
最后设置一下数据库文件的访问权限
sudo chmod 600 /etc/vsftpd_login.db
[编辑] 配置PAM文件
新建/etc/pam.d/vsftpd.vu 内容如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
* 我们上一步建立的数据库 vsftpd_login 在此处被使用
* 我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。
[编辑] 为虚拟用户创建本地系统用户
新建一个系统用户virtual,用户家目录为/home/ftp, 用户登录终端设为/bin/false(即使之不能登录系统)
sudo useradd virtual -d /home/ftp -s /bin/false
sudo chown virtual:virtual /home/ftp
/etc/vsftpd.conf
根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd
现在为止,我们的3个用户都可以工作了,可是它们的根目录现在都是/home/ftp,权限也都一样。 那么怎么才能完成我们预定的目标呢?
[编辑] /etc/vsftpd_user_conf
在上面的配置中,有这么一行
user_config_dir=/etc/vsftpd_user_conf
现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中
sudo mkdir /etc/vsftpd_user_conf
cd /etc/vsftpd_user_conf
sudo touch db1 db2 db3
db1文件中的内容如下
local_root=/home/ftp/dbzh1
同样,db2文件中的内容
local_root=/home/ftp/dbzh2
那么,db3的内容呢? 其实也很简单
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp/dbzh3
这里要注意不能有空格,不然登录的时候会提示出错。我的这里面也有问题,
[编辑] 能成?
重启vsftpd我们就可以看到效果了^_^
/etc/init.d/vsftpd start|restart
500 OOPS: cannot change directory:
linux打开ftp遇到的问题 500 OOPS: cannot change directory:
google好多都是 执行这个就OK setsebool ftpd_disable_trans 1 service vsftpd restart
但是执行的时候遇到这个问题 Could not change active booleans: Invalid boolean
搜了好久终于解决
setsebool -P ftp_home_dir=1
分享到:
相关推荐
vsftpd 虚拟用户设置权限 vsftpd 虚拟用户设置权限是指在 vsftpd 服务器中,如何设置虚拟用户的权限,以满足不同的用户需求。本文将详细介绍如何设置虚拟用户的权限,包括普通用户、管理员用户和网站管理员用户的...
### vsftpd虚拟用户的配置详解 #### 一、虚拟用户概念 在介绍具体的配置步骤之前,我们先来了解一下什么是虚拟用户。虚拟用户是指在FTP服务器上使用的非真实系统账户,通常用于提高安全性以及方便管理和控制。 **...
VSFTPD 虚拟用户建立需要安装和配置 VSFTPD 服务,建立虚拟用户帐户,调整配置文件,设置上传权限,设置日志记录功能,设置目录标语功能和设置 PORT 过渡连接。通过这些步骤,可以实现虚拟用户的 FTP 访问。
### 建立Vsftpd虚拟用户 #### 1. FTP登录方式概述 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。通过FTP,用户可以上传、下载以及管理远程服务器上的文件。根据登录方式的不同,FTP...
两种方式建立Vsftpd虚拟用户 Vsftpd虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。本文将介绍两种方式建立Vsftpd虚拟用户:本地数据文件方式和数据库...
总之,安装并配置VSFTPD虚拟目录涉及多个步骤,包括安装软件、配置服务、创建虚拟用户、设置数据库和权限,以及验证服务的正确运行。这个过程需要对Linux系统管理、FTP服务原理以及PAM认证机制有一定的理解。一旦...
为了实现多用户虚拟用户方式,需要在vsftpd.conf文件中设置virtual_use_local_privs=YES和virtual_users=ftp-test1,ftp-test2等参数。 结论 本文介绍了CentOS 8系统中配置vsftpd多用户FTP服务器的详细步骤,包括...
### Centos7下安装vsftpd并启用虚拟用户访问 #### 一、环境搭建与软件安装 在CentOS 7环境中部署vsftpd并实现虚拟用户登录,首先需要完成vsftpd服务的基本安装。 1. **安装vsftpd及其客户端**: ```bash yum ...
3. 设置 pam 认证:编辑 `/etc/pam.d/vsftpd`,添加针对虚拟用户的 pam 配置。 4. 修改 vsftpd 配置:启用虚拟用户模式(`virtual_use_local_users=YES`),配置 pam 模块认证。 5. 权限设定:为虚拟用户指定家目录...
在IT领域,特别是服务器管理与网络服务配置方面,掌握如何在CentOS系统中安装与配置Vsftpd(Very Secure FTP Daemon)以及设置虚拟用户是一项关键技能。本文将深入解析这一主题,涵盖Vsftpd的基本概念、安装过程、...
本教程将详细讲解如何在Linux环境下配置VSFTPD,实现FTP服务器的虚拟用户功能,以便为不同的用户提供独立的权限和目录访问。虚拟用户允许我们通过用户名和密码认证,而这些信息并不直接与系统的实际用户账户对应,...
CentOS FTP 虚拟用户设置全解 本文将详细介绍如何在 CentOS 操作系统中设置 FTP 虚拟用户。FTP(File Transfer Protocol,文件传输协议)是一种常用的文件传输协议,广泛应用于文件上传、下载等场景。CentOS 是一个...
下一步,我们需要建立虚拟用户访问目录,并设置 virtual 用户访问的权限。 #useradd -d /var/ftp/share -s /sbin/nologin virtual #chmod 700 /var/ftp/share 配置 VSFTPD 现在,我们需要配置 VSFTPD,以便使用...
这里,`user_config_dir`设置为`/etc/vsftpd/user_config`,意味着每个虚拟用户都可以有自己的个性化配置文件。虚拟用户登录时,Vsftpd会查找`/etc/vsftpd/user_config/用户名.conf`文件,以应用特定的权限和限制。 ...
本文将详细介绍如何在Linux环境下配置VSFTPD以及设置虚拟用户。 首先,VSFTPD的主要配置文件位于`/etc/vsftpd/vsftpd.conf`。这个文件包含了所有VSFTPD服务的参数和设置,可以根据需求进行调整。例如,关闭匿名用户...
您可以编辑该文件以配置 Vsftpd 服务器的设置。例如,想要禁用匿名 FTP 登录,可以将以下行修改为: anonymous_enable=NO 想要允许本地系统用户登录 FTP 服务器,可以将以下行反注释: local_enable=YES 想要...
在Linux环境中配置VSFTPD(Very Secure File Transfer Protocol Daemon)服务并设置虚拟用户,是为了实现更安全、可控的FTP(File Transfer Protocol)访问。VSFTPD是一个开源的FTP服务器软件,因其安全性高而受到...
同时,为每个虚拟用户创建一个自定义配置文件,比如`/etc/vsftpd_user_conf/admin`,并设置相应的权限和功能: ``` anon_world_readable_only=NO write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable...