FTP文件服务器的匿名、本地、虚拟,账户访问

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

实验准备

  • 两台虚拟机,Windows7和linux(Red Hat Enterprise 6.5)
  • 两台虚拟机都选择仅主机模式,确保两台虚拟机能够互相ping通
  • 利用rpm安装为Linux虚拟机安装vfstpd软件包

实验开始

本次实验分为三个部分,分别包括匿名用户访问、本地用户访问和虚拟用户访问,下面我就开始一一介绍。

匿名用户访问

下面我就来演示如何让匿名用户获得可以上传,下载,写入,删除的权限(权限最大)
在配置文件(/etc/vsftpd/vsftpd.conf)中开启以下功能。

anonymous_enable=YES         //开启匿名用户访问
anon_mkdir_write_enable=YES   //匿名用户上传/建立目录
anon_upload_enable=YES       //匿名用户上传权限

将配置文件中相应内容行首的“#”去掉即可执行命令(加“#”表示注释,即不执行该命令,去掉“#”则表示执行该命令)
以下内容配置文件中没有需要我们手动添加。

anon_other_write_enable=YES
//默认没有这一项,允许匿名用户具有建立目录,上传之外的权限,如重命名,删除


此时匿名用户的权限已经放到最大了,但是匿名用户需要执行写入权限时还是会遇到问题,此时我们检查匿名用户默认文件存放路径(/var/ftp),可以发现是文件夹的权限不够,我们要将文件夹的权限放大,就可以执行写入权限了。

当给文件夹的权限时不能直接给/ftp,因为当ftp文件夹权限最大时(777)服务器会自动关闭远程连接(Linux系统自动保护程序)。若是想要写入权限可以更改ftp目录下的子文件的权限最大(只能作用在子目录中)。

当这些设置都已经做完之后,我们就要开启服务,同时关闭Linux系统的防火墙

service vsftpd start      //开启服务
service iptables stop  //关闭防火墙
setenforce 0                //关闭selinux防火墙

测试

匿名用户下载文件


匿名用户上传权限(更改文件夹权限之后才可以使用,两者权限都必须要有)没有文件夹权限时。

开启文件夹权限


本地用户访问

本地用户登陆就简单了,只要在登陆时使用本地账户的用户名和密码就可以直接登陆。但是这里存在一个系统漏洞,我们要开启执行配置文件中的一条命令。如果在实际应用中普通用户可以随意切换目录将会对服务器造成威胁。

chroot_local_user=YES  //禁锢用户不能离开家目录,默认用户登录后都在其家目录下,当开启该选项后,用户就不可以随意跳转其他目录。


虚拟账户访问

往往在实际应用中,即使本地用户的用户名都不愿意透露给使用者使用,这时我们就可以使用账户映射,创建虚拟账户登陆
在 /etc/vsftd 文件夹下新建vuser文件,写入虚拟账户的用户名和密码,这里还有格式要特别注意,不可写错。奇数行为用户,偶数行为密码。

db_load -T -t hash -f vuser vuser.db             //将vuser文件转换成vuser.db的数据库文件
db_load -T -t hash -f
转换命令 转换 type类型 哈希算法 指定要转换的文件

这两个文件在系统中的的权限是所有人都可以查看,我们应该避免这种情况,所以我们要更改文件权限为只有root用户可以查看。

chmod 600 vuser
chmod 600 vuser.db


创建一个系统用户,指定家目录和登陆环境(nologin 不允许系统内登陆)

useradd -d /opt/vuser -s /sbin/nologin vuser

编辑pam认证模块支持虚拟用户的登陆
创建一个文件,为其编辑pam认证模块,认证vuser.db数据库文件

vim /etc/pam.d/vsftpd.vu

将以下内容添加到刚才创建的文件中

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser //此处的两个vuser文件并不是普通文件,而是刚才转换过后的数据库文件。因为前面写了db=,所以此处不加后缀名,且为必须省略不写。


编辑完pam认证模块之后,我们就要将其添加到配置文件中去使其生效。vim进入配置文件,在文末写入如下语句

guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu    //开启虚拟用户,使用pam认证登陆

使用了新的pam认证模块登陆,同时我们就要注释掉vsftpd的pam认证。
此时重启服务即可使用虚拟账户登陆系统。

使用匿名用户登陆系统

总结

1.在做服务验证前一定确保两台虚拟机可以互相ping通,防火墙也都是关闭的。
2.配置文件中每一条命令都代表不同的权限,开启执行时要确认清楚
3.当遇到操作失败时,要冷静,逐个排查错误
4.每次配置文件更改之后都需要重启服务,使更改生效
5.针对用户和文件夹的权限都要有

原文地址:http://blog.51cto.com/13643643/2115469

时间: 2024-09-28 10:46:10

FTP文件服务器的匿名、本地、虚拟,账户访问的相关文章

FTP服务最安全认证模式---虚拟账户访问

虚拟账户概述 因为在linux下,使用vsftp建立用户之后,默认使用ftp访问的时候,是会访问到对应的用户家目录.如果想多个用户同时访问某一个目录,同时对同一目录下有着不同的权限,比如部分用户只能看,不修改,或者有的用户只能下载不能上传这些权限,这些设定只能通过vsftp中的虚拟用户来进行设定,普通的用户无法达到这样的效果. 虚拟账户模式是最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出的用户进行口令验证账户信息,而这些账户信息在服务器其实是并不存在的,它仅供FTP服务器

FTP文件服务器共享/匿名访问。别名访问。用户访问

rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm vsftpd.conf配置文件/user_lis用户列表 默认情况处了面的用户以外都能登陆 anonymous_enable=YES //开启匿名用户访问anon_mkdir_write_enable=YES //匿名用户上传/建立目录anon_upload_enable=YES //匿名用户上传权限 ![](http://i2.51cto.com/images/blog/2018

Vsftpd文件传输服务(虚拟账户模访问)

虚拟账户模式 虚拟账户模式是最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出的用户进行口令验证账户信息,而这些账户信息在服务器其实是并不存在的,它仅供FTP服务器认证使用. 环境部署: redhat6.5操作系统 服务器IP地址:192.168.10.20 镜像光盘挂载至 /mnt 虚拟账户访问 1 . 安装vsftpd软件包,创建虚拟用户账户文件 [[email protected] ~]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.e

搭建FTP服务,实现三种方式的访问:1.匿名访问;2,本地用户访问;3虚拟用户访问。

FTP服务(File Transfer Protocol,文件传输协议)是典型的C/S结构 的应用层协议,需要由服务端软件,客户端软件两部分共同实 现文件传输功能.既可以在局域网使用,又可以在广域网使 用.在Windows系统中,常见的FTP服务器软件包括FileZilla Sener, Serv-U等,而在linux系统中,vsftpd是目前在linux/UNIX领域 应用 十分广泛的一款FTP服务软件本次实验主要讲解vsftpd,在虚拟机上以redhat6.5为服务端,Windows7为客户

linux的ftp服务之本地访问浏览与虚拟账户

限制本地用户浏览根目录/etc/vsftpd/vsftpd.conf 功能:所有用户被锁定到自己的加目录中(修改之前不仅可以在自己家目录,还可以看其他)编辑限制浏览根目录用户vim /etc/vsftpd/chroot_list添加白名单设置chroot_local_user=YES ---> 此参数要求去掉自己对加目录的写权限chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list ---> 名单文件路径在/etc/vsft

Samba服务(匿名用户访问、本地用户访问、虚拟用户访问)

Samba是一个实现不同操作系统(Windows.Linux.UNIX)之间文件共享和打印机共享的一种SMB协议的免费软件.SMB协议是客户机/服务器协议,客户机通过该协议可以访问服务器上的共享文件及打印机共享资源.它主要应用于局域网上,也可以通过设置"NetBIOS over TCP/IP"同互联网中的电脑分享资源. SMB协议:TCP 139端口 CIFS协议:TCP 445端口 重要配置文件: /etc/samba/smb.conf: SAMBA的主配置文件,内有丰富的说明,也可

CentOS7上快速搭建FTP服务器,基于本地用户访问

本篇文档主要讲基于Linux上本地用户进行访问的FTP服务器的快速搭建步骤. 如果是想进阶学习FTP,如基于mysql的虚拟用户的配置,不应该参考本篇文档. 参考文档:http://www.178linux.com/52605 https://help.aliyun.com/document_detail/51998.html 以下是配置步骤: 1.安装vsftp ~]# yum install -y vsftp 2.相关配置文件  ~]# cd /etc/vsftpd/ vsftpd]# ls

Centos下安装FTP并进行虚拟用户访问方式配置

1.准备工作 yum install pam* yum install db4* 首先安装PAM(用于用户认证)和DB4(用于生成虚拟用户的用户名密码的db文件). 2.安装vsftpd yum install vsftpd 设置vsftpd开机启动: chkconfig vsftpd on 通过chkconfig --list 查看启动项 3. 配置vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_u

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比