vsftd及虚拟用户

临时需要搭建一个ftp,突然忘记怎么搞了,重新整一下,以后备用

1.安装vsftpd

yum install vsftpd

2.添加用户(用于虚拟用户映射)

adduser seedftp -s /sbin/nologin

3.修改配置文件

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

userlist_enable=YES
tcp_wrappers=YES

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30090

guest_enable=YES #启用虚拟用户
guest_username=seedftp #虚拟用户映射的真实用户
pam_service_name=vsftpd.vu #指定PAM文件路径
user_config_dir=/etc/vsftpd/user_conf #配置虚拟用户配置文件路径

4.关于主动及被动

开启被动模式:

 connect_from_port_20=NO(默认为YES) #设置是否允许主动模式
   pasv_enable=YES(默认为YES) #设置是否允许被动模式
   pasv_min_port=30000(default:0(use any port))
   pasv_max_port=40000(default:0(use any port))

开启主动模式的配置:

   connect_from_port_20=YES
   pasv_enable=NO

5.修改PAM

vim /etc/pam.d/vsftpd.vu 
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login     
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

6.配置虚拟用户

vim /tmp/caiuser
caiuser
xmks89232

7.建立数据文件

db_load -T -t hash -f /tmp/login.txt /etc/vsftpd/vsftpd_login.db

8.创建用户宿主目录

chmod 700 /home/seedftp/
mkdir ftp

创建初始目录:

cd ftp/
mkdir cklpub
chown -R seedftp.seedftp  cklpub
chmod 700 cklpub #安全设置必须,这个目录用户组和其它没有写权限

9.重启服务器

systemctl restart vsftpd.service

10.备注

227 Entering Passive Mode (120,76,154,177,207,77).

ftp: connect: Connection timed out

如果报错,一定要查看pasv模式端口是否打开

端口范围不能写错

pasv_min_port=30000
pasv_max_port=30090
时间: 2024-08-06 18:12:17

vsftd及虚拟用户的相关文章

vsftpd基于pam虚拟用户认证,还怕泄漏账号么?

一.ftp简要介绍 ftp是一个很古老的协议了,是一种基于明文传输的C/S架构协议.ftp基于tpc21.20端口,其中21端口为命令端口,20端口为数据端口.ftp命令连接同其他TCP连接一样,不过数据连接有两种模式: 主动模式,也称作PORT模式:命令请求端口时,服务器端为减少等待,主动将数据发送给客户端:使用本机的20端口请求客户端的端口.这里有个问题:服务器端想要主动连接客户端就需要知道客户端的端口号,可是客户端根本没有启动任何端口给服务器端.协议设计中服务器端根据客户端的命令连接端口(

VSFTPD虚拟用户实现

VSFTPD虚拟用户 所有的虚拟用户会统一映射为一个指定的系统帐号:访问共享位置即为此系统帐号的家目录各虚拟用户可赋予不同的访问权限,通过匿名用户的权限控制参数进行指定. 1.创建虚拟用户的帐号密码数据库文件     a.创建帐号密码文件 格式:奇数行为帐号,偶数行为密码 [[email protected]~]# vim /etc/vsftpd/vusers.list test1     #用户 123456   #密码 test2 123456 test3 123456 b.将该文件转换为二

实现基于mysql验证的vsftpd虚拟用户 (centos6)

实现基于mysql验证的vsftpd虚拟用户 (centos6) 说明:本实验在两台Cento主机上实现,一台作为FTP服务器,一台作为数据库服务器 FTP服务器ip:172.16.250.90 Mysql服务器ip:172.16.252.16 一.安装ftp服务器安装包 yum install vsftpd pam_mysql 二.数据库服务器创建虚拟用户帐号   1.建立虚拟用户数据库      mysql> create database vsftpd;     mysql> show 

CentOS7基于虚拟用户的vsfptd

一.安装及配置文件介绍 1.使用yum的方式即可实现.  yum -y install vsftpd 2.用户认证配置文件 /etc/pam.d/vsftpd 3.主配置文件 /etc/vsftpd/vsftpd.conf 4.共享目录的位置:/var/ftp/ 二.vsfptd常用配置 1.匿名用户的常用配置  annoymous_enable=YES  #是否启用匿名用户 anno_upload_enable=YES #是否允许匿名用户上传权限 anno_mkdir_write_enable

Ubuntu 安装 proftpd,并添加虚拟用户

安装并配置 proftpd 安装就不废话了,apt 即可.然后修改 /etc/proftpd/proftpd.conf: # 必须打开,将用户限定在自己的目录中 DefaultRoot ~ # 因为虚拟用户是没有 shell 的,所以要打开这个设定 RequireValidShell off # 用 mod_auth_file.c 验证登录用户名和密码 AuthOrder mod_auth_file.c # 存放用户名和密码的文件 AuthUserFile /etc/proftpd/ftpd.p

通过MySQL实现虚拟用户访问vsftpd服务器

声明 作者:昨夜星辰 博客:http://yestreenstars.blog.51cto.com/ 本文由本人创作,如需转载,请注明出处,谢谢合作! 目的 通过MySQL实现虚拟用户访问FTP服务器. 配置 # 安装本次实验所用到的所有软件包 yum -y install vsftpd mysql-server mysql-devel pam-devel gcc-c++ make wget # 启动mysqld服务 service mysqld start # 初始化数据库管理员密码 mysq

vsftpd基于pam_mysql做虚拟用户认证

(1)下载epel源 [[email protected] ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  #下载阿里云的epel源 [[email protected] ~]# yum repolist (2)安装所需要的包 [[email protected] ~]# yum -y groupinstall "Development Tools" "Ser

虚拟用户邮件传输

smtp虚拟用户邮件传输及管理 一.对简单的邮件传输进行本地管理 1).本机如何拒绝其他指定ip主机远程发送邮寄 服务器配置:(限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行) vim /etc/postfix/access (ip)172.25.254.*** REJECT postmap /etc/postfix/access postconf -e "smtpd_client_restrictions =check_client_access hash:/etc/postfix

运维学习笔记虚拟用户邮件服务

在DNS为邮件服务器做好域名解析后 注意:在做该实验时有些设备应关闭selinux 就可以利用MYSQL和POSTFIX来搭建数据库所记录的虚拟用户来使用邮件服务器进行收发邮件了 首先在MYSQL中建立email库存放记录虚拟用户信息的表emailuser usernamepassworddomainmaildir [email protected]12345678redhat.com/redhat.com/fu/ 在MYSQL中新建用户并使得该用户只可访问email库 GRANT SELECT