CentOS6.5配置vsftp虚拟用户全程记录

CentOS6.5配置vsftp虚拟用户全程记录

一、 检查selinux是否开启,如果开启,请先关闭以便调试

二、创建虚拟用户文本文件,添加虚拟用户和密码

cd /etc/vsftpd/
touch  ftpusers.txt

编辑ftpusers.txt,设置用户名、密码,奇数行是用户名,偶数是密码

比如:

user1
123123
user2
123123

三、生成虚拟数据库文件

如果db_load没有安装,yum install db4-utils db4-devel db4-4.3安装才能使用

db_load –T –t hash –f /etc/vsftpd/ftpusers.txt  /etc/vsftpd/ftpusers.db 

四、 配置PAM认证

目的是对虚拟用户进行登录验证

编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:

auth                 required     pam\_userdb.so   db=/etc/vsftpd/ftpusers
account              required     pam\_userdb.so   db=/etc/vsftpd/ftpusers

不能写成db=/etc/vsftpd/ftpusers.db

五、修改虚拟数据库文件ftpusers.db的权限

为 700

chmod   700  ftpusers.db

六、增加一个系统用户ftp

使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器。

mkdir  /home/ftp  
useradd  -d  /home/ftp ftp  
chown  ftp:ftp  /home/ftp  
usermod -s /sbin/nologin ftp

七、修改vsftpd.conf配置文件

使虚拟用户可以访问vsftpd服务器,增加以下参数

#注释掉原有端口配置
#connect_from_port_20=YES
#设置独立进程控制vsftpd
listen=YES
#修改端口vsft接入端口
listent_port=9999       
#设置vsftp可随机占用的端口    
pasv_max_port=8000
pasv_min_port=7000
#激活虚拟账户
guest_enable=YES            
#把虚拟账户绑定为系统账户ftp
guest_username=ftp           
#使用PAM验证
pam_service_name=vsftpd     

"="两边不能有空格,请把所有注释、空格全部删掉,只留下文字和换行

八、 设置虚拟用户的主配置文件

编辑vsftpd.conf文件,添加:

user_config_dir=/etc/ftp/ftp_user_conf

九、建立ftp_user_conf

mkdir /etc/ftp/ftp_user_conf

十、设置虚拟用户配置文件

与虚拟账户同名

touch  /etc/ftp/ftp_user_conf/user1

编辑虚拟账户user1的配置文件user1,使虚拟账户user1获得相应的权限,内容如下:

anon_world_readable_only=NO  
anon_upload_enable=YES  
anon_mkdir_write_enable=YES  
anon_other_write_enable=YES
anon_umask=022
local_root=/home/ftp/user1              

anon_world_readable_only=NO是否只读
anon_upload_enable=YES允许上传
anon_mkdir_write_enable=YES允许创建和删除目录
anon_other_write_enable=YES允许重命名和删除文件
anon_umask=022配置上传文件的默认权限
local_root=/home/ftp/user1
"="两边不能有空格,请把所有注释、空格全部删掉,只留下文字和换行

配置iptables

vim /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
#ssh端口
-A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 111 -j ACCEPT
#允许回环网卡所有端口,让php-fpm正常运行
-A INPUT -i lo -j ACCEPT
#允许本机访问外网
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#允许分配给vsftp的随机端口
-A INPUT -p tcp -m tcp --dport 7000:8000 -j ACCEPT
COMMIT

附录:

本次使用配置:

vsftpd.conf中:

listen_port指定ftp端口,修改前需先注释掉系统默认配置的20端口

tcp_wrappers实现主机访问控制

guest_enable允虚拟用户

guest_username指定虚拟用户映射的系统用户

pam_service_name系统认证的服务名,vsftp的服务名就是vsftpd

user_config_dir指定虚拟用户配置文件目录

虚拟用户名单ftpusers.txt:

虚拟用户user1配置文件

vsftpd.conf部分解释:

一:进程类别优化:

1.listen=YES/NO

设置独立进程控制vsftpd

二:登录和访问控制选项优化:

1.anonymous_enable=YES/NO

允许/禁止匿名用户登陆

2.banned_email_file=/etc/vsftpd/vsftpd.banned_emails

允许/禁止邮件的使用的存放路径和目录

配合使用:deny_email_enable=YES/NO

允许/禁止匿名用户使用邮件作为密码

3.banner_file=/etc/vsftp/banner_file

在文件banner_file添加欢迎词即可

4.cmds_allowed=HELP,DIR,QUIT,!

列出被允许使用的FTP命令

5.ftpd_banner=welcome to ftp server

和第三条一样是欢迎词屏幕,方法不一样

6.local_enable=YES/NO

允许/禁止本地用户登陆

7.pam_service_name=vsftpd

使用pam模块进行ftp客户端的验证

8.userlist_deny=YES/NO

禁止/允许文件列表user_list的用户访问ftp服务器

配合使用:userlist_file=/etc/vsftpd/user_list

用户列表文件

配合使用:userlist_enable=YES/NO

激活/失效第8条的功能

9.tcp_wrappers=YES/NO

启用/不启用tcp_wrappers控制服务访问的功能

三:匿名用户选项的优化:

1.anon_mkdir_write_enable=YES/NO

允许/禁止匿名用户创建目录、删除文件

2.anon_root=/path/to/file

设置匿名用户的根目录,默认是/var/ftp/ 3.anon_upload_enable=YES/NO

允许/禁止匿名用户上传

4.anon_world_readable_only=YES/NO

禁止/允许匿名用户浏览目录和下载

5:ftp_username=anonftpuser

把匿名用户绑定到系统用户名

6:no_anon_password=YES/NO

不需要/需要匿名用户的登录密码

四:本地用户选项的优化:

1.chmod_enable=YES/NO

允许/禁止本地用户修改文件权限

2.chroot_list_enable=YES/NO

启用/不启用禁锢本地用户在家目录

3.chroot_list_file=/path/to/file

建立禁锢用户列表文件,一行一个用户

4.guest_enable=YES/NO

激活/不激活虚拟用户

5.guest_username=系统实体用户

把虚拟用户绑定在某个实体用户上

6.local_root=/path/to/file

指定或修改本地用户的根目录

7.local_umask=具体权位数字

设置本地用户新建文件的权限

8.user_config_dir=/path/to/file

激活虚拟用户的的主配置文件

五:目录选项的优化:

1.text_userdb_names=YES/NO

启用/禁用用户的名称取代用户的UID

六:文件传输选项优化:

1.chown_uploads=YES/NO

启用/禁用修改匿名用户上传文件的权限

chown_username=账户

指定匿名用户上传文件的所有者

2.write_enable=YES/NO

启用/禁止用户的写权限

max_clients=数字

设置FTP服务器同一时刻最大的连接数

4.max_per_ip=数字

设置每ip的最大连接数

七:网络选项的优化:

1.anon_max_rate=数字

设置匿名用户最大的下载速率(单位字节)

2.local_max_rate=数字

设置本地用户最大的下载速率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章