vsftp服务

##vsftp本地用户:######

yum install vsftpd

vim /etc/vsftpd/vsftpd.conf

 

listen=YES

listen_port=2188

anonymous_enable=NO

use_localtime=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=NO

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

idle_session_timeout=180

data_connection_timeout=120

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to haha FTP service.

chroot_list_enable=YES

chroot_list_file=/etc/ftpchroot

ls_recurse_enable=YES

pam_service_name=vsftpd

userlist_enable=YES

log_ftp_protocol=YES

max_per_ip=10

pasv_max_port=40100

pasv_min_port=40000

 

/etc/ftpchroot  里面为限制家目录用户  (一个用户名一行)

 

防火墙开启相关端口  

iptables -A INPUT -p tcp -m multiport --dport 21,40000:40100 -j ACCEPT

 

启动vsftpd  

/etc/init.d/vsftpd  start


#########################################################

 

 

##vsftpd虚拟用户的配置#########

 

安装:yum -y install vsftpd db4-utils*

环境:32bit rhel5.4

创建三个虚拟用户,使用同一个家目录/data/ftpdir权限如下

 

123admin  读写删除(上传、下载、删除)

123rw   读写(上传、下载、不能删除)

123ro       读(只能下载)

一、创建虚拟用户数据库

1创建文件loginuser.txt

vim /etc/vsftpd/loginuser.txt

123admin
123456
123rw
123456
123ro
123456

 

2、生成数据库文件:

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

chmod 600 /etc/vsftpd/vsftpd_login.db

3、配置pam文件(64bit 改/lib64)

cat /etc/pam.d/vsftpd.vu

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login


二、为虚拟用户创建本地系统用户

useradd vsftp -d /data/ftpdir -s /bin/false

chown vsftp.vsftp /data/ftpdir


mv vsftpd.conf vsftpd.conf_bak


cat vsftpd.conf   配置主服务

anonymous_enable=NO

local_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

listen_port=21

userlist_enable=YES

chroot_local_user=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=vsftp

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

pasv_min_port=50000

pasv_max_port=60000

pasv_enable=yes

max_clients=200

max_per_ip=10

idle_session_timeout=600

ftpd_banner=Welcome to  FTP service

 
mkdir /etc/vsftpd/vsftpd_user_conf  创建虚拟用户配置目录


cat /etc/vsftpd/vsftpd_user_conf/123admin   创建123admin用户配置文件

write_enable=YES

anonymous_enable=NO

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_umask=022

download_enable=Yes

local_root=/data/ftpdir

 
cat /etc/vsftpd/vsftpd_user_conf/123rw创建123rw用户配置文件

write_enable=YES

cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT

file_open_mode=044

local_root=/data/ftpdir

 
cat /etc/vsftpd/vsftpd_user_conf/123ro创建123ro用户配置文件

write_enable=NO

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

local_umask=022

download_enable=yes

local_root=/data/ftpdir

 

三、测试虚拟用户


 分别登陆123admin 123rw 123ro  pwd:123456尝试mkdir delete put get等权限

ftp -n 192.168.2.200

Connected to 192.168.2.200 (192.168.2.200).

220 Welcome to  FTP service

ftp> use 123admin

331 Please specify the password.

Password:

230 Login successful.

 

cmds_allowed参数:

# ABOR - abort a file transfer
# CWD - change working directory
# DELE - delete a remote file
# LIST - list remote files
# MDTM - return the modification time of a file
# MKD - make a remote directory
# NLST - name list of remote directory
# PASS - send password
# PASV - enter passive mode
# PORT - open a data port
# PWD - print working directory
# QUIT - terminate the connection
# RETR - retrieve a remote file
# RMD - remove a remote directory
# RNFR - rename from
# RNTO - rename to
# SITE - site-specific commands
# SIZE - return the size of a file
# STOR - store a file on the remote host
# TYPE - set transfer type
# USER - send username


less common commands:
# ACCT* - send account information
# APPE - append to a remote file
# CDUP - CWD to the parent of the current directory
# HELP - return help on using the server
# MODE - set transfer mode
# NOOP - do nothing
# REIN* - reinitialize the connection
# STAT - return server status
# STOU - store a file uniquely
# STRU - set file transfer structure
# SYST - return system type

 

###############################################################

 

##ssl证书(ftps)#########

 

mkdir /etc/vsftpd/sslkey

cd /etc/vsftpd/sslkey

openssl req -new -days 365 -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem

chmod 400 /etc/vsftpd/sslkey

 

vim  /etc/vsftpd/vsftpd.conf  (增加)

 

ssl_enable=YES

force_local_logins_ssl=YES

force_local_data_ssl=YES

ssl_sslv2=YES

ssl_sslv3=YES

ssl_tlsv1=YES

rsa_cert_file=/etc/vsftpd/sslkey/vsftpd.pem

重启vsftpd服务即可

客户端连接时 选择 认证TLS证书  或者 认证SSL证书

 

 #######################################################

 

 

vsftpd.conf的参数:

Anonymous_enable=yes     允许匿名登陆

Dirmessage_enable=yes           切换目录时,显示目录下.message的内容

Local_umask=022         FTP上本地的文件权限,默认是077

Connect_form_port_20=yes 启用FTP数据端口的数据连接 *

Xferlog_enable=yes 激活上传和下传的日志

Xferlog_std_format=yes         使用标准的日志格式

Ftpd_banner=XXXXX 欢迎信息

Pam_service_name=vsftpd         验证方式 *

Listen=yes 独立的VSFTPD服务器 *

Anon_upload_enable=yes         开放上传权限

Anon_mkdir_write_enable=yes 可创建目录的同时可以在此目录中上传文件

Write_enable=yes 开放本地用户写的权限

Anon_other_write_enable=yes 匿名帐号可以有删除的权限

Anon_world_readable_only=no 放开匿名用户浏览权限

Ascii_upload_enable=yes         启用上传的ASCII传输方式

Ascii_download_enable=yes 启用下载的ASCII传输方式

Banner_file=/var/banner_file         用户连接后欢迎信息使用的是此文件中的相关信息

Idle_session_timeout=600(秒)         用户会话空闲后10分钟

Data_connection_timeout=120(秒) 将数据连接空闲2分钟断

Accept_timeout=60(秒)         将客户端空闲1分钟后断

Connect_timeout=60(秒) 中断1分钟后又重新连接

Local_max_rate=50000(bite)         本地用户传输率50K

Anon_max_rate=30000(bite) 匿名用户传输率30K

Pasv_min_port=50000 将客户端的数据连接端口改在50000—60000之间

Pasv_max_port=60000


Max_clients=200         FTP的最大连接数

Max_per_ip=4 每IP的最大连接数

Listen_port=5555 从5555端口进行数据连接

Local_enble=yes         本地帐户能够登陆

Write_enable=no         本地帐户登陆后无权删除和修改文件

 

下面这是一组 

Chroot_local_user=yes         本地所有帐户都只能在自家目录

Chroot_list_enable=yes         文件中的名单可以调用

Chroot_list_file=/任意指定的路径/chroot_list

前提是chroot_local_user=no


这又是一组 

Userlist_enable=yes 在指定的文件中的用户不可以访问

Userlist_deny=yes

Userlist_file=/指定的路径/vsftpd.user_list

 

Banner_fail=/路径/文件名 连接失败时显示文件中的内容

Listen_address=10.2.2.2         将虚拟服务绑定到某端口

Guest_enable=yes 虚拟用户可以登陆

Guest_username=所设的用户名 将虚拟用户映射为本地用户

User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹  --指定不同虚拟用户配置文件的路径


又是一组 

Chown_uploads=yes 改变上传文件的所有者为root

Chown_username=root

 

又是一组

Deny_email_enable=yes        是否允许禁止匿名用户使用某些邮件地址

Banned_email_file=//任意指定的路径/xx/

 

Pasv_enable=yes         服务器端用被动模式

User_config_dir=/指定路径//文件目录     指定虚拟用户存放配置文件的路径

 

 

你可能感兴趣的:(职场,休闲,vsftpd虚拟用户)