您的位置:首页 > 编程语言 > PHP开发

vsftp虚拟用户安装配置

2012-05-17 11:19 471 查看
系统centos5.4_X64

安装:yum -y install vsftpd db*

需求:

虚拟三个用户,使用同一个家目录。权限如下

ftpadmin 读写删除(上传、下载、删除)

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

ftp 读(只能下载)

复制代码

目录为:/ftpdata

密码统一为:123456

一、创建虚拟用户数据库:

1、创建文件文件loginuser.txt

格式如下:

用户名

密码

vi /etc/vsftpd/loginuser.txt

ftpadmin

123456

ftpuser

123456

ftp

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文件

vi /etc/pam.d/vsftpd.vu

64位换成(lib64)

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 /ftpdata -s /bin/false

chown vsftp.vsftp /ftpdata

复制代码

三、vsftpd.conf配置

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

rm -rf /etc/vsftpd/vsftpd.conf

vi /etc/vsftpd/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

local_max_rate=50000

idle_session_timeout=600

ftpd_banner=Welcome to FTP service

#mkdit -p /ftpdata

#mkdir /etc/vsftpd/vsftpd_user_conf

#vi /etc/vsftpd/vsftpd_user_conf/ftpadmin 所有权限

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=/ftpdata

vi /etc/vsftpd/vsftpd_user_conf/ftpuser 能下载、上传但不能删除

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=0444

local_root=/ftpdata

vi /etc/vsftpd/vsftpd_user_conf/ftp 只能下载

write_enable=NO

anon_world_readable_only=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

local_umask=022

download_enable=yes

local_root=/ftpdata

service vsftpd restart

测试:

ftp -n localhost

Connected to ifidc.

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

220 Welcome to tfhudong FTP service

ftp> use ftpadmin

331 Please specify the password.

Password:

230 Login successful.

ftp> quit

221 Goodbye.

如果出现500 oops错误,请执行:setsebool ftpd_disable_trans 1

补充:

如果对上传用户要限制其上传目录(主目录),需要加入

local_root=/ftpdata/ ftpdata是我自己的设置的,可按实际需求来

前将local_root=/ftpdata/给予相应的权限

特别注意:

1。如果要删除掉一个虚拟用户,先在logins.txt中删除用户对应的用户名和密码,然后删除vsftpd_login.db,重新运行db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

2。如果只是要修改用户的密码,只需重新运行db_load就可以

3。如果要改变用户的其它配置,只需修改用户的配置文件

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/vsftpd_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=5000 将客户端的数据连接端口改在

Pasv_max_port=6000 5000—6000之间

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=/etc/vsftpd.chroot_list 前提是chroot_local_user=no

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

Userlist_deny=yes

Userlist_file=/etc/vsftpd.user_list

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

Ls_recurse_enable=no

Async_abor_enable=yes

one_process_model=yes

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

Guest_enable=yes 虚拟用户可以登陆

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

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

Chown_username=root

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

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

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

User_config_dir=/任意指定的路径//任意文件目录 指定虚拟用户存放配置文件的路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: