vsftpd 虚拟用户 搭建

简介:

系统环境:

[root@RHCE ~]# cat /etc/redhat-release 

CentOS Linux release 7.2.1511 (Core) 

[root@RHCE ~]# uname -r

3.10.0-327.el7.x86_64

[root@RHCE ~]# ip addr show enp0s8 | awk 'NR==3{print $2}'

192.168.235.36/24

安装vsftpd:

[root@RHCE ~]# yum install -y vsftpd


vsftpd 虚拟用户配置 :

[root@RHCE ~]# vim  /etc/vsftpd/vsftpd.conf

#修改为如下值

[root@RHCE ~]# cat /etc/vsftpd/vsftpd.conf | grep -v "#" | grep -v "^$" 

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

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd.vu    #修改pam认证文件

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES          #开启虚拟用户功能

guest_username=virtual   #虚拟用户映射的本地用户

user_config_dir=/etc/vsftpd/viruser.d/    #虚拟用户的配置文件存放目录

allow_writeable_chroot=YES     

#一些被注释默认配置没有显示


[root@RHCE ~]# mkdir /etc/vsftpd/viruser.d


#创建虚拟用户

[root@RHCE vsftpd]# cat /etc/vsftpd/vuser.txt   

abc  #用户名

123  #密码

asd 

123


#创建本地用户

[root@RHCE vsftpd]# adduser -s /sbin/nologin -d /var/ftpvir virtual

[root@RHCE vsftpd]# chmod 777 /var/ftpvir

[root@RHCE ~]# cd /etc/vsftpd/

[root@RHCE vsftpd]# db_load -T -t hash -f vuser.txt vuser.db

[root@RHCE vsftpd]# file vuser.db 

vuser.db: Berkeley DB (Hash, version 9, native byte-order)


#创建PAM认证文件

[root@RHCE vsftpd]# cat /etc/pam.d/vsftpd.vu 

#%PAM-1.0

auth       required    pam_userdb.so db=/etc/vsftpd/vuser

account       required    pam_userdb.so db=/etc/vsftpd/vuser


#创建测试文件

[root@RHCE vsftpd]# echo "hello" > /var/ftpvir/test.txt 

[root@RHCE vsftpd]# chown virtual.virtual /var/ftpvir/test.txt 


#开启服务

[root@RHCE vsftpd]# systemctl start vsftpd


#安装ftp客服端

[root@RHCE vsftpd]# yum install -y ftp 


#用虚拟用户 abc 登陆 密码:123 

[root@RHCE vsftpd]# ftp 192.168.235.36

Connected to 192.168.235.36 (192.168.235.36).

220 (vsFTPd 3.0.2)

Name (192.168.235.36:root): abc

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (192,168,235,36,107,239).

150 Here comes the directory listing.

-rw-r--r--    1 1000     1000            6 Mar 27 12:10 test.txt

226 Directory send OK.

ftp> 

#登陆成功!


#设置上传权限

[root@RHCE vsftpd]#mkdir  /etc/vsftpd/viruser.d/

[root@RHCE vsftpd]# echo "anon_upload_enable=YES" > /etc/vsftpd/viruser.d/abc

[root@RHCE vsftpd]# cat /etc/vsftpd/viruser.d/abc

anon_upload_enable=YES


[root@RHCE vsftpd]# systemctl restart vsftpd


#测试上传权限

[root@RHCE vsftpd]# ftp 192.168.235.36

Connected to 192.168.235.36 (192.168.235.36).

220 (vsFTPd 3.0.2)

Name (192.168.235.36:root): abc

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> put     #连按两下Tab建可以查看当前目录(登录ftp时,所在的目录)下有什么文件。

ftpusers                viruser.d/              vsftpd_conf_migrate.sh  vuser.txt

user_list               vsftpd.conf             vuser.db                

ftp> put vuser.txt 

local: vuser.txt remote: vuser.txt

227 Entering Passive Mode (192,168,235,36,147,170).

150 Ok to send data.

226 Transfer complete.

16 bytes sent in 9e-06 secs (1777.78 Kbytes/sec)

ftp> ls

227 Entering Passive Mode (192,168,235,36,23,86).

150 Here comes the directory listing.

-rw-r--r--    1 1000     1000            6 Mar 27 12:10 test.txt

-rw-------    1 1000     1000           16 Mar 27 12:21 vuser.txt

226 Directory send OK.

ftp> 

#上传成功


更多权限在 man 5 vsftpd.conf 可以查看。










本文转自 chaunceyjiang  51CTO博客,原文链接:http://blog.51cto.com/cqwujiang/1910901,如需转载请自行联系原作者
目录
相关文章
|
安全 Linux 数据安全/隐私保护
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
352 0
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
|
安全 Linux 网络安全
CentOS7下搭建vsftpd服务器(本地用户模式)
CentOS7下搭建vsftpd服务器(本地用户模式)
426 0
CentOS7下搭建vsftpd服务器(本地用户模式)
|
监控 网络协议 安全
vsftpd搭建FTP服务详细步骤
本文主要描述vsftpd FTP的详细过程
625 0
vsftpd搭建FTP服务详细步骤
|
域名解析 网络协议 Linux
Centos 7 使用 vsftpd 搭建 FTP 服务器
本文主要为大家介绍 Centos 7 环境下使用 vsftpd 搭建 FTP 服务器的过程。
1016 0
Centos 7 使用 vsftpd 搭建 FTP 服务器
|
Linux 网络安全 开发工具
|
安全 开发工具 数据安全/隐私保护