Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

摘要:
配置虚拟用户访问首先至少要关闭userlist改完配置文件是要重启服务来使它生效其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的local_root选项不影响本地用户登录的目录和虚拟用户登录的目录是不产生影响的为防止有影响,把chroot也注释了配置虚拟用户登录的步骤:1、添加虚拟用户口令文件2、生成虚拟用户口令认证文件3、编辑vsftp的PAM认证文件4、建立本

配置虚拟用户访问

首先至少要关闭userlist

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第1张

改完配置文件是要重启服务来使它生效

其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的

local_root选项不影响

本地用户登录的目录和虚拟用户登录的目录是不产生影响的

为防止有影响,把chroot也注释了

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第2张

配置虚拟用户登录的步骤:

1、添加虚拟用户口令文件

2、生成虚拟用户口令认证文件

3、编辑vsftp的PAM认证文件

4、建立本地映射用户并设置宿主目录权限

5、修改配置文件

6、重启vsftp服务,并测试

7、调整虚拟用户权限

第一步:添加虚拟用户口令文件(该文件可以叫任何名字也可以放在任何位置)

vi /etc/vsftpd/vuser.txt #内容如下

cangls #用户名

123 #密码

bols #用户名

123 #密码

以上的用户名密码并不能直接登录系统,所以不怕截取

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第3张

第二步:生成虚拟用户口令认证文件

yum –y install db4-utils #如果没有安装口令认证命令,需要安装

db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db #把文本文档转换为认证的数据库

-T:转化

-t:指定转换函数

-f:指定文件

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第4张

第三步:编辑vsftp的PAM认证文件

vi /etc/pam.d/vsftpd

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

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

#注释掉其他行,加入这两行即可

#注释其他行,可以禁止本地用户登录,因为本地用户登录时的验证依然依赖这个文件

该文件中本身就有一些规则,定义的是本地用户的验证规则

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第5张

在vsftp的配置文件最下面有一行设置,就是pam文件

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第6张

vi中将2~8行添加#号

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第7张

添加修改完成后,重启服务

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第8张

此时本地用户就不能登录了

第四步:建立本地映射用户并设置宿主目录权限

useradd –d /home/vftproot –s /sbin/nologin vuser #此用户不需要登录,只是映射用户

#用户名必须和下一步配置文件中一致

chmod 775 /home/vftproot

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第9张

创建完成后的vftproot的权限是700,这种权限下是不允许用户上传的,需要改权限为755

第五步:修改配置文件

vi /etc/vsftpd/vsftpd.conf

guest_enable=YES #开启虚拟用户

guest_username=vuser #FTP虚拟用户对应的系统用户(用户名要和前面的名字一样)

pam_service_name=vsftpd #PAM认证文件(默认存在)

Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问第10张

第六步:重启vsftpd服务并测试

service vsftpd restart

此时虚拟用户可以登录,查看、下载,不能上传

默认上传文件的位置是宿主用户的家目录

权限使用的是匿名用户权限进行管理

注:正常情况下,此时就可以用前面设置的两个虚拟用户登录ftp了,但是我这里是登陆失败,还没找的是哪里出错了,下面我重新恢复虚拟机,重头再来。

第七步:调整虚拟用户权限(不能上传的问题)

vi /etc/vsftpd/vsftpod.conf

anonymous_enable=NO #关闭匿名用户登录,更加安全(不影响虚拟用户登录)

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

#给虚拟用户设置权限,允许所有虚拟用户上传

对于虚拟用户的文件目录中上传的权限,除了ftp的权限以外还需要系统对文件的权限设置。

总结:

1、重新安装:yum install –y vsftpd

2、关闭防火墙和SELinux

永久关闭防火墙:

关闭: chkconfig iptables off

开启: chkconfig iptables on

3、永久关闭SELinux:

vi /etc/selinux/config

修改SELINUX=disabled

4、关闭可能影响ftp的防火墙策略

service iptables status #查看防火墙

iptables -D INPUT 4 #删除与ftp有关的策略

5、重启系统,重启服务

6、注释userlist选项

7、创建虚拟用户口令文件

vi /etc/vsftpd/vuser.txt

里面写入奇数行用户名,偶数行密码

8、生成虚拟用户口令认证文件

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

9、编辑vsftp的PAM文件

注释掉里面所有的内容

输入一下两行

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

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

10、建立本地映射用户并设置宿主目录权限

useradd -d /home/vftproot -s /sbin/nologin vuser

chmod 775 /home/vftproot/

11、修改配置文件

添加和开启以下三个选项

guest_enable=YES

guest_username=vuser

pam_service_name=vsftpd

12、重启vsftpd服务,并测试

13、调整虚拟用户权限

注:还是没有登录成功,实在是找不到错在了哪里。(后面再做做,如果能成功会再记录一下)

免责声明:文章转载自《Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇将 .NET Framework 项目转换为 .NET Standard 项目一本通例题-生日蛋糕——题解<超强深搜剪枝,从无限到有限>下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

IIS服务器怎么查看网站日志

在做网站的优化以及网站安全的时候,分析网站的日志是非常重要的,但是公司的服务器是IIS的,以前弄的是linux的服务器,不知道该怎么弄,最终找到了解决办法。 1、iis默认是有日志的,在iislog下 2、日志文件在这里 C:inetpublogsLogFiles...

ftp协议及常用命令

FTP协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上...

linux下percona-toolkit工具包的安装和使用(超详细版)

一.检查和安装与Perl相关的模块 PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。 依赖包检查命令为: rpm -qaperl-DBIperl-DBD-MySQLperl-Time-HiResperl-IO-Socket-SSL 如果有依赖包确实,可以使用下面的命令安装: yum install perl-DBI yum inst...

查看IP和MAC地址的命令

[基于MS]查看MAC地址命令: 1、使用ipconfig /all,可以看到具体配置。(查看IP地址,网关,DNS MAC地址等) 2、如果和局域网中的其它计算机通信过的话,可以用arp -a命令查看其MAC地址。 3、另外还可以用nbtstat -a [IP],不过只能查看某台具体机器的MAC地址(查看其他机器的MAC地址)。 [基于MS]查看IP地...

MySQL最新版本 MySQL5.7.11 批量自动化一键式安装(转)

--背景云端 以前都喜欢了源码安装MySQL,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了。 现在业务发展了,开始在云上部署了,需要经常安装mysql,有的时候一次部署很多台,如果还是源码安装一个个去执行,效率就比较差了,所以准备采用更快效率的二进制来实现一键式...

dmalloc arm-linux平台使用

话说“工欲善其事,必先得其器”,用C语言写程序,最怕遇到个什么内存泄漏,内存越界访问了,心里那个急啊。。。 如果在i368-linlux上,valgrind工具是首选,但在arm-linux平台上,如何呢,dmalloc就是一个不错的选择。当然,IBM的purify是另外一个级别的选手,不提也罢。 1. 到官方网站下载dmalloc: www.dmallo...