vsftpd 配置
本站整理 发布时间:2009-03-10 14:59:42 作者:jb51.net 我要评论
0、关于本文档
本文档是个人的学习整理,允许大家翻阅,摘抄,引用,更欢迎指出其中不对之处,文档的内容主要来自VSFTPD自身文档、个人学习心得以及网络资料,若有类同,实属正常,∶),
本文档基于RedHat Linux 9和VSFTPD-1.1.3-8,如果有不同版本,则有专门文字
#使用ftpd_banner取代VSFTPD默认的欢迎词,免得泄漏相关信息
ftpd_banner=Welcome to this FTP Server
#只让匿名用户浏览可阅读的文件,不可以浏览整个系统
anon_world_readable_only=YES
#隐藏文件的所有者和组信息,匿名用户看到的文件的所有者和组全变为ftp
hide_ids=YES
#取消写权限
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
#使用单独模式,并指定的IP地址
listen_address=ip address
#对连接进行控制,还有超时时间,那就根据具体情况再说了。
connect_from_port_20=YES
pasv_min_port=50000
pasv_max_port=60000
#控制并发数,限定每个IP地址的并发数,这个嘛,根据用户自已定了。
max_clients=numerical value
max_per_ip=numerical value
#限定下载速度,具体限多大,就由用户自己定了,80KB/s,也很快了吧。
anon_max_rate=80000
#启用详细的日志记录格式
xferlog_enable=YES
6.4、基于IP地址的虚拟FTP服务器
假定服务器有两个IP地址,192.168.0.1和192.168.0.2。VSFTPD是建立在192.168.0.1上的,现在我们在192.168.0.2上再提供一个虚拟FTP服务器。如何在一台服务器上使用多个IP 地址,请参考相关文档。
1、创建虚拟FTP服务器的根目录。
mkdir -p /var/ftp2/pub
确保/var/ftp2和/var/ftp2/pub目录的拥有者和组均为root,掩码为755。
2、增加虚拟FTP服务器的匿名用户帐号。原先的FTP服务器使用系统用户ftp作为其匿名用户帐号。我们要增加一个ftp2用于虚拟FTP服务器。
useradd -d /var/ftp2 -M ftp2
3、创建虚拟FTP服务器的配置文件。复制原来的vsftpd.conf作为虚拟FTP服务器的配置文件,并修改相关参数。
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
新添或修改以下参数:
listen=YES
listen_address=192.168.0.2
ftp_username=ftp2
注:由于VSFTPD默认是所有的IP地址,当我们设定基于IP的虚拟FTP服务器时,为防止原来的FTP服务器与虚拟FTP服务器发生上的冲突,原FTP服务器需要指定的IP地址。在这里,原来的配置文件中就要设置listen_address=192.168.0.1。
4、启动虚拟FTP服务器。
/etc/rc.d/init.d/vsftpd脚本在启动时,扫描/etc/vsftpd/目录下所有的*.conf文件,按照*.conf文件的先后,依次启用vsftpd进程,每个vsftpd进程对应一个.conf文件。即,“ls /etc/vsftpd/”列表的次序与“ps -aux |grep vsftpd”中的顺序一样。当然了,“ps -aux | grep vsftpd”中也显示出vsftpd所使用的配置文件,从中也可以看哪个vsftpd进程对应哪个FTP服务器。如果没有列出配置文件,那就是默认的vsftpd.conf,那么该进程也就是原来的FTP服务器进程。
由于第3步中虚拟FTP服务器的配置文件被命名为vsftpd2.conf文件,所以我们可以用/etc/rc.d/init.d/vsftpd脚本同时启动或关闭原FTP服务器和新加的虚拟FTP服务器。
以下命令单独启动虚拟FTP服务器:
/usr/sbin/vsftpd /etc/vsftpd/vsftpd2.conf &
单独关闭虚拟FTP服务器,用“ps -aux | grep vsftpd”查出进程号,再用kill指令杀死虚拟FTP的进程。
6.5、虚拟用户的配置
6.5.1、VSFTPD的虚拟用户介绍
VSFTPD的本地用户本身是系统的用户,除了可以登录FTP服务器外,还可以登录系统使用其他系统资源,而VSFTPD的虚拟用户则是FTP服务的专用用户,虚拟用户只能访问FTP服务器资源。对于只需要通过FTP对系统有读写权限,而不需要其他系统资源的用户或情况来说,采用虚拟用户方式是很适合的。
VSFTPD的虚拟用户采用单独的用户名/口令保存方式,与系统账号(passwd/shadow)分离,这大大增强了系统的安全性。VSFTPD可以采用数据库文件来保存用户/口令,如hash;也可以将用户/口令保存在数据库服务器中,如MySQL等。VSFTPD验证虚拟用户,则采用PAM方式。由于虚拟用户的用户名/口令被单独保存,因此在验证时,VSFTPD需要用一个系统用户的身份来读取数据库文件或数据库服务器以完成验证,这就是guest用户,这正如同匿名用户也需要有一个系统用户ftp一样。当然,guest用户也可以被认为是用于映射虚拟用户。
配置虚拟用户分为几部分:guest用户的创建、用户/口令的保存、PAM认证配置、vsftpd.conf文件设置等。具体的配置方法,参考下面小节。注:在后面的例子中,假定存在虚拟用户xiaotong和xiaowang。
6.5.2 用户创建和目录设置
在系统中添加vsftpdguest用户,作为虚拟用户在系统中的代表。
useradd vsftpdguest
当虚拟用户登录后,所在的位置为vsftpdguest的自家目录/home/vsftpdguest。如果要让虚拟用户登录到/var/ftp等其他目录,修改vsftpdguest的自家目录即可。
6.5.3、配置文件的设置
6.5.3.1、基本设置。
在vsftpd.conf配置文件中,加入以下参数:
guest_enable=YES
guest_username=vsftpdguest
6.5.3.2、虚拟用户的权限配置。
VSFTPD-1.2.0添加了virtual_use_local_privs参数,当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限,这也就是VSFTPD-1.2.0之前版本对虚拟用户权限的处理方法。这两者种做法相比,后者更加严格一些,特别是在有写访问的情形下。默认情况下此参数是关闭的(NO)。
下面先介绍virtual_use_local_privs=NO时,即VSFTPD-1.2.0之前版本对虚拟用户权限的配置方法:
①控制虚拟用户浏览目录
如果让用户不能浏览目录,但仍可以对文件操作,那么需要执行以下二个步骤:一,配置文件中,anon_world_readable_only=YES。二,虚拟用户目录的权限改为只能由vsftpdguest操作:
[root@hpe45 vsftpd]# chown vsftpdguest.vsftpdguest /home/vsftpdguest
相关文章
- 然 Ubuntu 提供了优秀的图形化软件管理工具,我们绝大多数时间并不需要使用命令行来管理 Snap 软件包,但命令行拥有更强的功能和灵活性,学会如何使用可以帮你更好地掌控系2024-10-18
Flatpak和Snapcraft怎么选? Linux软件包管理系统优缺点对比
Linux 软件的打包和分发方式在过去几年中也取得了长足地进展,本文将探讨 Flatpak 和 Snapcraft 之间的关键差异,它们各自的优/缺点,以期望帮助用户找到更适合自己的一款2024-10-18linux服务器重启命令哪个好用? Linux服务器重启命令汇总
在 Linux 系统中,最严谨的重启命令是 shutdown -r now,该命令直接将系统重启,而不进行任何清理或准备工作,确保系统彻底重启,但也有很多其他命令,详细如下文介绍2024-10-17教你如何在Linux中使用apt命令? Linux APT命令实战教程
apt是一个软件包管理工具,apt命令相当强大,要是在Ubuntu和Debian系统中使用,可以用来对软件进行安装等操作,需要超级管理员(root)权限进行操作2024-09-29apt 和 apt-get有什么区别? Linux包管理解密
为什么 Debian 系 Linux 发行版同时拥有apt和apt-get这两个雷同的命令?他们之间有什么区别?详细请看下文介绍2024-09-29- Linux圈曝出严重远程代码执行RCE漏洞,已存在10多年,几乎影响所有GNU/Linux发行版,目前尚未有修复补丁,不过可以缓解,解决方案如下2024-09-27
- 在Linux系统中,分区管理是非常重要的一项工作,在使用Linux系统的过程中,有时候我们需要删除某个分区来释放存储空间或重新规划硬盘空间,那么,如何在Linux系统上删除分2024-09-14
深度操作系统deepin 25开发计划公布: 2025 年 01 月发布
deepin 25 计划发布时间为 2025 年01 月,此版本的主要目标是修复 deepin 23 中的遗留问题,提升系统稳定性2024-09-14- FDISK是一个用于硬盘分区的工具,特别是在较早的操作系统版本中,如Windows 98和早期的Linux系统中,FDISK是进行硬盘分区的主要工具,这里就为大家分享一下linux系统中使用2024-08-29
黑神话悟空怎么下载安装? 深度操作系统deepin23黑神话悟空安装教程
deepin23系统想要体验《黑神话:悟空》游戏,该怎么下载安装呢?下面我们就来看看详细的图文教程2024-08-22
最新评论