文章来源:
http://wiki.ubuntu.org.cn/Vsftpd%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE
目标
首先我们假定你已经安装了vsftpd,并在/home/vsftpd 目录下建立了以下3个子目录
下面,我们要建3个虚拟用户,密码分别是用户名后加"00"
使得
用户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来启用的,稍后你将发现。
为虚拟用户创建本地系统用户
新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)
sudo useradd vsftpd -d /home/vsftpd -s /bin/false
sudo chown vsftpd:vsftpd /home/vsftpd
/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=vsftpd
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd
现在为止,我们的3个用户都可以工作了,可是它们的根目录现在都是/home/vsftpd,权限也都一样。 那么怎么才能完成我们预定的目标呢?
/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/vsftpd/dbzh1
同样,db2文件中的内容
local_root=/home/vsftpd/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/vsftpd/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
分享到:
相关推荐
Ubuntu Linux 上安装 SSH 和 Vsftpd 的方法 在 Ubuntu Linux 中,安装 SSH 和 Vsftpd 是非常重要的步骤,它们分别提供了安全的远程登录和文件传输功能。下面是关于 Ubuntu Linux 上安装 SSH 和 Vsftpd 的详细介绍:...
Ubuntu 10.04 搭建 vsftpd 2.2.2 vsftpd 是一个功能强大且高效的 FTP 服务器软件,它广泛应用于 Unix 及其它操作系统中。在 Ubuntu 10.04 中,我们可以轻松地搭建 vsftpd 2.2.2 服务器,实现文件的上传和下载。 一...
为了实现多用户虚拟用户方式,需要在vsftpd.conf文件中设置virtual_use_local_privs=YES和virtual_users=ftp-test1,ftp-test2等参数。 结论 本文介绍了CentOS 8系统中配置vsftpd多用户FTP服务器的详细步骤,包括...
本文档将详细介绍如何在 Ubuntu 14.04 系统上安装和配置 vsftpd 服务,包括必要的软件安装、虚拟用户的添加及管理、权限配置等方面,以确保服务的安全性和稳定性。 #### 二、安装必要软件 首先,确保服务器已更新...
Vsftpd还支持虚拟路径和虚拟用户的功能,这些功能使得管理员可以根据不同的需求灵活地管理和配置FTP服务。 #### 十五、实例与参考 文档中还提供了具体的实例和参考链接,帮助用户更好地理解和应用Vsftpd的各项功能...
如果没有,可以通过包管理器来安装,例如在Ubuntu/Debian上使用`apt-get install vsftpd`,在CentOS/RHEL上使用`yum install vsftpd`。 接下来,我们需要创建一个用于存储虚拟用户信息的数据库。这通常通过PAM...
例如,在Ubuntu或Debian上,可以运行`sudo apt-get install vsftpd`;在CentOS或Fedora上,使用`sudo yum install vsftpd`或`sudo dnf install vsftpd`。 5. **配置vsftpd**:主要通过编辑`/etc/vsftpd.conf`配置...
例如,命令“adduser -g vsftpd -s /sbin/nologin vsftpd”将创建一个用户名和用户组均为vsftpd的用户,并且该用户登录shell被设置为/sbin/nologin,这意味着该用户不能直接登录系统,增加了系统安全性。 4. 重启...
Ubuntu Server 安装 VSFTPD FTP 服务器 Linux 服务器应用电脑资料 安装 VSFTPD FTP 服务器是 Linux ...本文介绍了如何在 Ubuntu Server 10.4 上安装 VSFTPD FTP 服务器,包括安装、配置、认证用户和解决问题等内容。
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。 vsftpd 是一个 UNIX 类操作系统上运行的...比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
对于VSFTPD服务器的配置,Webmin提供了一个专门的模块,使得配置文件的修改、用户权限的设定、虚拟用户的支持等复杂操作变得简单易行。 接下来,让我们关注一下如何在系统上安装和配置基于Webmin的VSFTPD服务器: ...
vsftpd软件包具有很多功能,包括支持ipv6、支持虚拟用户、支持SSL / TLS安全传输、支持虚拟用户分配权限、支持文件限速等。因此,它被广泛地用于各种Linux系统的FTP服务器的实现。 使用vsftpd_3.0.3-12_arm64.deb...
UBuntu下搭建vsftpd服务器实现本地用户、匿名用户和虚拟用户的上传下载 本资源摘要信息是关于在UBuntu 16.04下搭建vsftpd服务器的实验报告,实现了本地用户、匿名用户和虚拟用户的上传下载。下面是对实验报告的知识...
除了基本配置外,vsftpd还提供了丰富的高级功能,如速率控制、多线程处理、虚拟用户认证等。例如,通过`user_config_dir`可以为不同用户提供个性化的配置选项,实现更灵活的速率限制或其他特殊需求。 #### 结论 ...
- 在Debian或Ubuntu系统上安装Vsftpd可以通过以下命令完成: ```bash sudo apt-get install vsftpd ``` - 安装完成后,需要配置Vsftpd的服务参数。默认情况下,Vsftpd的主配置文件位于`/etc/vsftpd.conf`。需要...
【Ubuntu 14.04 LTS Server ...总之,安装和配置Ubuntu 14.04 LTS Server上的vsftpd 3.0.2涉及多个层面,包括系统更新、语言环境、网络配置、用户管理以及权限控制。正确设置这些环节将确保FTP服务的安全、稳定和高效。
这种方式允许管理员为每个用户设置独立的权限,增加了系统的安全性。 **VSFTP虚拟用户的工作原理** VSFTP虚拟用户机制通过将用户认证与系统用户分离,使得FTP服务可以独立于操作系统用户进行管理。通常,它会结合...
本文主要介绍如何在Ubuntu 14.04 LTS Server上安装和配置vsftpd 3.0.2,以及同时设置SSH、静态IP/DNS和ACL权限。以下是一些关键步骤和概念: 1. **系统安装**: - 在安装Ubuntu 14.04 LTS Server时,仅选择OpenSSH...
本文档将指导您如何在 Ubuntu 系统中设置 FTP 服务器,使用 VSFTPD 软件包,并且创建三个虚拟用户,每个用户拥有不同的权限和主目录。 虚拟用户数据库的创建 首先,我们需要创建一个虚拟用户数据库。在这里,我们...
通过上述步骤,你已经学会了如何在Linux下配置VSFTP和虚拟用户,包括安装VSFTP、配置主配置文件、设置PAM模块、创建虚拟用户数据库以及测试登录。这种方法对于多用户环境非常有用,尤其是当需要精细控制每个用户访问...