2018-02-06 Linux学习之vsftpd服务部署(ftp文件传输)

一、文件传输协议

1.FTP协议

FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。

2.工作模式

FTP协议有以下两种工作模式:

主动模式:FTP服务器主动向客户端发起连接请求

被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)

二、vsftpd服务程序

1.常用的vsftpd服务参数

图一 常用参数
图二 常用参数

2.vsftpd服务程序模式

匿名开放模式:一种不安全的认证模式,任何人都可以无需密码验证而直接登陆到FTP服务器

本地用户模式:是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开放模式更安全,而且配置起来也很简单。但是如果被黑客破解了账户的信息,就可以畅通无阻地登录FTP服务器,从而完全控制整台服务器

虚拟用户模式:是这三种模式中最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出用来进行口令验证的账户信息,而这些账户信息在服务器系统中实际上是不存在的,仅供FTP服务程序进行认证使用。这样,即使黑客破解了账户信息也无法登录服务器,从而有效降低了破坏范围和影响

3.部署vsftpd

①yum install vsftpd //安装vsftpd服务

②yum install ftp //安装ftp命令行工具

③在firewalld图形界面下开启ftp端口

(1)匿名开放模式

图一 配置参数

将以上参数写入/etc/vsftpd/vsftpd.conf:

图二 写入参数

重启vsftpd服务,将vsftpd服务加入开机启动项:

systemctl restart vsftpd //重启vsftpd

systemctl enable vsftpd //将vsftpd加入开机启动项

图三 重启服务

此刻,匿名开放模式已经部署成功,现在尝试一下连接,连接格式如下:

ftp 服务器IP地址

为了保证实验效果明显,本地再开一个虚拟机B,去连接配置好的虚拟机A:(两台机器需要配置好环境,A需要关闭SELinux,开启http 21端口,B需要安装ftp命令行工具)

图四 连接

匿名开放模式中name是 anonymous,密码为空。

登陆成功之后默认访问的目录是/var/ftp,此刻想要有写入权限,需要将/var/ftp 目录的所属组改为ftp,初始所属组是root,连接上来的人没有权限。

图五 连接成功

(2)本地用户模式

图一 基本参数

修改配置文件如下:

将anonymous_enable=no,是用来关闭匿名开放模式。

图二 修改配置文件

此刻用原有的默认账户无法登陆,用正常账户就能登陆。

图三 默认账户失效
图四 使用本地账户登陆

使用本地用户登陆之后,默认访问的是该用户的家目录,所以不必再修改目录的权限,但是这些的前提都是在关闭SELinux之下。

(3)虚拟用户模式

①创建用于进行FTP认证的用户数据库文件,奇数行为用户名,偶数行为密码。

cd /etc/vsftpd/ //进入vsftpd服务配置文件目录

vim vuser.list //新建虚拟用户名单

②加密虚拟用户列表

db_load -T -t hash -f vuser.list vuser.db

②创建vsftpd服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户

由于Linux系统中的每一个文件都有所有者、所属组属性,例如使用虚拟账户“张三”新建了一个文件,但是系统中找不到账户“张三”,就会导致这个文件的权限出现错误。为此,需要再创建一个可以映射到虚拟用户的系统本地用户。简单来说,就是让虚拟用户默认登录到与之有映射关系的这个系统本地用户的家目录中,虚拟用户创建的文件的属性也都归属于这个系统本地用户,从而避免Linux系统无法处理虚拟用户所创建文件的属性权限。

为了安全起见,把这个账户设置为不能登陆服务器,避免被黑客得到去做坏事情。

useradd -d /var/ftproot -s /sbin/nologin virtual //添加用户,设置其家目录为/var/ftproot,并设置为不能登陆

chmod -Rf 755 /var/ftproot //为家目录添加其他用户权限

③建立用于支持虚拟用户的PAM文件

PAM(可插拔认证模块)是一种认证机制,通过一些动态链接库和统一的API把系统提供的服务与认证方式分开,使得系统管理员可以根据需求灵活调整服务程序的不同认证方式。

通俗来讲,PAM是一组安全机制的模块,系统管理员可以用来轻易地调整服务程序的认证方式,而不必对应用程序进行任何修改。PAM采取了分层设计(应用程序层、应用接口层、鉴别模块层)的思想,其结构如图所示。

图一 PAM结构图

vim /etc/pam.d/vsftpd.vu

图二 PAM文件

④在vsftpd服务程序的主配置文件中通过pam_service_name参数将PAM认证文件的名称修改为vsftpd.vu,PAM作为应用程序层与鉴别模块层的连接纽带,可以让应用程序根据需求灵活地在自身插入所需的鉴别功能模块。当应用程序需要PAM认证时,则需要在应用程序中定义负责认证的PAM配置文件,实现所需的认证功能。

需要用到的参数如下:

图三 所需参数

vim /etc/vsftpd/vsftpd.conf

图四 修改配置文件
图五 修改配置文件

⑤为虚拟用户设置不同的权限,想要让用户A有更多的权限,读写修改,用户B只有读权限

在/var/vsftpd下建立用户权限文件目录vuser_dir,在user_dir中建立文件,以帐户名为文件名

配置文件中写入

anon_upload_enable=YES或NO

anon_mkdir_write_enable=YES或NO

anon_other_write_enable=YES或NO

并在主配置文件/etc/vsftpd/vsftpd.conf中添加:

user_config_dir=/etc/vsftpd/vusers_dir

重启vsftpd服务,并关闭SELinux,

systemctl restart vsftpd 

setenforce 0

用虚拟账户张三、李四分别登陆:

图六 张三登陆成功
图七 李四登陆成功

4.简单文件传输协议

简单文件传输协议是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议,占用端口69。

缺点:不如ftp功能强大,不能遍历目录,在安全性方面也比较弱。

优点:减少了无谓的系统和带宽消耗

部署TFTP:

(1)安装tftp

yum install tftp-server tftp -y

(2)修改配置文件/etc/xinetd.d/tftp

图一 修改配置文件

(3)重启tftp服务,加入开机启动项,并开启相应防火墙端口

systemctl restart xinetd

systemctl enable xinetd

TFTP的根目录/var/lib/tftproot,当用tftp服务登陆时候默认访问该目录。

图二 ftfp相关参数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容