linux中vsftpd下虚拟用户+被动模式配置详解

下面说说在linux下部署vsftp的过程吧,小小笔记。

一、安装

这里我说下最简单的rpm包安装,因为光盘中有,何必编译呢?

yum install db4* vsftpd -y

二、配置

1、新建系统用户

useradd vsftpd -s /sbin/nologin

限制vsftpd用户登录,此用户将最为vsftpd服务的宿主用户

useradd ftp -s /sbin/nologin

这里是Vsftpd虚拟宿主用户,默认情况下这个用户应该有。

当然这些用户你可以用另外的名字。

2、修改vsftpd的配置。

anonymous_enable=NO #设定不允许匿名访问
local_enable=YES #设定本地用户可以访问。如果设定为NO那么所有虚拟用户将无法访问。
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=NO #禁止端口20进行数据连接。这里用被动模式
chown_uploads=NO #设定禁止上传文件更改宿主。
xferlog_file=/var/log/vsftpd.log #设定Vsftpd的服务日志保存路径
xferlog_std_format=YES #设定日志使用标准的记录格式。
idle_session_timeout=600 #设定空闲连接超时时间
nopriv_user=vsftpd #设定支撑Vsftpd服务的宿主用户
async_abor_enable=YES #设定支持异步传输功能
ascii_upload_enable=YES
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能
ftpd_banner=vsftpd #设定Vsftpd的登陆标语
chroot_list_enable=NO #禁止用户登出自己的FTP主目录
ls_recurse_enable=NO #禁止用户登陆FTP后使用"ls -R"的命令,占用资源
listen=YES #设定该Vsftpd服务工作在StandAlone模式
#新增配置
pam_service_name=vsftpd #设定PAM服务下Vsftpd的验证配置文件名
userlist_enable=YES #设定userlist_file中的用户将不得使用FTP
tcp_wrappers=YES #设定支持TCP Wrappers
guest_enable=YES #设定启用虚拟用户功能
guest_username=ftp #指定虚拟用户的宿主用户
virtual_use_local_privs=YES #设定虚拟用户的权限符合他们的宿主用户
user_config_dir=/etc/vsftpd/vconf #设定虚拟用户个人Vsftp的配置文件存放路径

3、新建用户

touch /etc/vsftpd/user_list
#写入
testuser #用户名
123456 #密码

4、生成数据文件

db_load -T -t hash -f /etc/vsftpd/user_list /etc/vsftpd/user.db

5、修改pam。

 

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
必须把这两条插入#%PAM-1.0后面,其中sufficient表示充分条件,如果通过了,同类型的验证就不需要了。

6、配置虚拟用户。

按照上面的用户配置对应的文件,

touch /etc/vsftpd/vconf/testuser

新建虚拟用户的目录:

mkdir /opt/vsftp/virtuser && chown root.ftp /opt/vsftp/virtuser
用户登录后会限制在这个目录里面做读写操作。
配置如下内容:(不一定都需要)

local_root=/opt/vsftp/virtuser #指定虚拟用户的具体主路径。
idle_session_timeout=600 #设定空闲连接超时时间。
data_connection_timeout=120 #设定单次连续传输最大时间。
max_clients=10 #设定并发客户端访问个数。
max_per_ip=5 #设定单个客户端的最大线程数
local_max_rate=50000 #设定该用户的最大传输速率,单位b/s。
另外前面主配置文件的配置,在这里可以重新配置覆盖。
好了 启动vsftp 测试下吧

时间: 2024-12-22 10:29:35

linux中vsftpd下虚拟用户+被动模式配置详解的相关文章

linux中sudo的用法和sudoers配置详解

sudo 是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等.这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性.Sudo不是对shell的一个代替,它是面向每个命令的.它的特性主要有这样几点: 1.sudo能够限制用户只在某台主机上运行某些命令. 2.sudo提供了丰富的日志,详细地记录了每个用户干了什么.它能够将日志传到中心主机或者日志服务器. 3.sudo使用时间戳文件来执行类似的"

linux中shell下test [ ] 条件表达式使用详解

test 条件表达式说明 文件符号: [root@LAMP test]# help test test: test [expr]     Evaluate conditional expression.     Exits with a status of 0 (true) or 1 (false) depending on     the evaluation of EXPR.  Expressions may be unary or binary.  Unary     expression

Linux/Unix环境下的Make和Makefile详解_unix linux

Linux/Unix环境下的Make和Makefile详解  无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系.而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说

Linux服务器下nginx的安全配置详解_nginx

Nginx是一个轻量级,高性能的Web服务器/反向代理和电子邮件 代理(IMAP/POP3),它可以运行在UNIX,GNU/Linux,BSD变种,MAC OS X,Solaris和Microsoft Windows上.根据Netcraft的调查数据显示,互联网上6%的域名都使用了Nginx Web服务器.Nginx是解决C10K问题的服务器之一,与传统服务器不一样,Nginx不依赖于线程处理请求,相反,它使用了一个更具扩展性的事件驱 动(异步)架构.Nginx在很多高流量网站上得到了应用,如W

CentOS6.3下nginx性能优化配置详解(1/2)

一.NGINX优化配置 1.主配置文件优化: # vi /usr/local/nginx/conf/nginx.conf ----------------------------------------- user nginx nginx; worker_processes 8; worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000; error_log  /usr/local/ngi

Linux系统下Kafka单机安装配置详解

说明:   操作系统:CentOS 6.x 64位   Kafka版本:kafka_2.11-0.8.2.1   实现目的:   单机安装配置kafka   具体操作:   一.关闭SELINUX.开启防火墙9092端口   1.关闭SELINUX   vi /etc/selinux/config   #SELINUX=enforcing #注释掉   #SELINUXTYPE=targeted #注释掉   SELINUX=disabled #增加   :wq! #保存退出   setenfo

linux中php-fpm进程数优化与分析详解

在几个不是很繁忙的线上服务器发现php-fpm进程数达到500多,且存在一些运行时间长达几个月的进程. 进行了以下排查,以确定:phpfpm运行是否有问题,是否需要重启. 查看这些进程是否被正常启动 由于php-fpm.log中,会以notice级别打印worker进程的启动和回收时间,故可以通过以下语句检查有哪些php没有被记录到(ps axuf可以查看到进程的父子关系):  代码如下 复制代码 $cd /path/to/php-fpm.log $for word in `ps axu | g

入门:Windows环境下PHP动态网页配置详解

入门:详解Windows下PHP5+APACHE+MYSQ完整配置 经过一段时间狂热的PHP编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手动配置PHP环境时遇到许多问题,在查阅了许多资料和尝试后,终于配置成功.现在,我将我的配置经验和大家分享一下,相信可以解决大家配置PHP环境的迷惑. 首先说一下我用的软件版本. PHP 5.1.6APACHE 2.0.59(注意:APACHE 2.2.X版本以上要增加插件才支持

linux系统中Rsync + Lsync实时文件同步配置详解

使用Rsync + Lsync可实现实时文件同步,本文就介绍如何配置Rsync + Lsync.并测试文件同步功能. 服务器信息: 主:10.86.255.154 从:10.86.255.155 1.从服务设定. 1.1.安装配置rsync xinet. # yum -y install rsync xinet # cp /etc/xinetd.d/rsync /etc/xinetd.d/rsync.bkp0625 # vim /etc/xinetd.d/rsync  # default: of