LINUX ftp虚拟用户配置

[root@localhost home]# yum -y install vsftpd*                                            安装vsftpd

[root@localhost home]#vim /etc/selinux/config                                          编辑selinux安全配置文件

[root@localhost home]# /etc/init.d/iptables stop                    关闭防火墙

[root@localhost home]# vim login.txt    创建口令文件库“于里面输入用户名与密码,奇数为用户名、偶数为密码”

[root@localhost home]# 

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


  执行命令将文件库变为哈希算法数据库模式保存至/etc/vsftpd/vsftpdlogin.db重命名为vsftpdlogin.db

[root@localhost home]# chmod 600 /etc/vsftpd/vsftpdlogin.db                      给予600权限

二、建立虚拟用户所需的pam配置文件

[root@localhost home]# vim /etc/pam.d/vsftpd			修改/etc/pam.d/vsftpd文件添加
auth required	pam_userdb.so db=/etc/vsftpd/vsftpdlogin
account required	pam_userdb.so db=/etc/vsftpd/vsftpdlogin
<img src="https://img-blog.csdn.net/20140730134537765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU1pNUzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />


注:注释掉上面之前的所有默认配置,注释掉后!默认本地系统用户将无法登陆FTP

注:在authrequired用空格键隔开在requiredpam_userdb.so中间用TAB隔开

不然在登陆时会报530错误!可能是系统版本的问题。

注意:也可以另外建一个文件,但是要在/etc/vsftpd/vsftpd.conf中将pam_service_name=vsftpd后面的值改为新建文件的名称

三、添加本地用户及权限

[root@localhost www]# useradd -d /home/nginx/www -s /sbin/nologin max       添加用户为max并设定为默认目录为/home/nginx/www下面!

[root@localhost htdocs]# usermod -g nginx max   更改虚拟用户所在组!

:如果www此目录的用户与组为nginx!则max将无权限在www目录下面创建或删除文件,要执行setfacl –m u:max:rwx www此命令为max添加读写执行权限

四、修改vsftpd.conf主配置文件

[root@localhost www]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back         备份原有的vsftpd.conf默认配置文件,以备还原

[root@localhost www]# vim /etc/vsftpd/vsftpd.conf              修改主配置文件

内容如下:

anonymous_enable=NO                                                          禁用匿名用户登录

local_enable=YES                                                                     启用本地用户登录(本质上是为了能够让虚拟用户登录)

chroot_local_user=YES                                                          将所有本地用户限制在自己的目录中

pam_service_name=vsftpd                                                  配置vsftpd使用的PAM模块为vsftpd

user_config_dir=/etc/vsftpd/users_config                       设置虚拟账户配置文件的主目录为 /users_config(后面创建)

max_clients=100                                              FTP服务器最大接入客户端数为100

max_per_ip=3                                                        设置每个IP地址最大连接数为3

local_max_rate=300000 FTP                               服务器的本地用户最大传输速率设置为300KB/s

anon_max_rate=100000 FTP                              服务器匿名用户最大传输速率设置为100KB/s

listen_port=34536                                                 设置ftp登陆端口

五、设置虚拟用户的配置文件

[root@localhost home]# mkdir /etc/vsftpd/users_config/                        创建虚拟账户配置文件的主目录

[root@localhost home]# touch /etc/vsftpd/users_config/max                创建虚拟用户文件

[root@localhost home]# vim /etc/vsftpd/users_config/max          编辑虚拟用户文件,添加以下内容

guest_enable=YES             开启虚拟账户登录

guest_username=max              设置max对应的系统帐户为max

anon_world_readable_only=NO 允许用户浏览FTP目录和下载文件

anon_max_rate=100000 限制传输速率为100KB/s

anon_other_write_enable=YES 允许用户进行文件改名和删除文件的权限

anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权利

anon_upload_enable=YES 表示用户可以上传文件

file_open_mode=0755            表示上传文件后文件权限为rwxr-xr-x 

添加下面二行可让ftp虚拟用户有修改文件权限功能

virtual_use_local_privs=yes

chmod_enable=yes

六、vsftpd端口放行设置

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

shift+G跳至最后

增加

listen_port=34536            ftp的默认21端口改为34536

pasv_min_port=3000       将被动模式最小端口设置为3000

pasv_max_port=3010      将被动模式最大端口设置为3010

保存退出

[root@vsftpd ~]# vim /etc/sysconfig/iptables

打开防火墙配置文件添加以下规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 34536 -j ACCEPT           放行ftp登陆端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000:3010 -j ACCEPT   放行被动模式最大与最小端口

*******************************************************************************

ftp错误

响应:      500 OOPS: config file not owned by correct user, or not a file

错误:       严重错误

此错误是配置文件权限有问题

用户配置文件权限把用户与组都改为root root即可

*******************************************************************************

 

 

******************************************************************************

ftp错误

响应:      553 Could not create file.

错误:       严重文件传输错误

如果配置确定无误的情况下,执行getenforce查看selinux是否打开!如果是Enforcing

则执行setenforce 0 关闭selinux即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值