600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > linux中ftp服务器的搭建和配置

linux中ftp服务器的搭建和配置

时间:2020-06-08 17:10:48

相关推荐

linux中ftp服务器的搭建和配置

linux中的ftp服务的搭建及配置

1 ftp概述2 ftp服务的搭建2.1 ftp的客户端2.2 FTP的服务端2.2.1 服务端软件vsftpd的下载 2.2.2 vsftp的环境配置2.2.3 vsftpd的基本信息 3 vsftp的配置参数3.1 用户的登陆3.2 设定用户的家目录3.3 匿名用户上传文件3.4 匿名用户下载文件3.5 匿名用户建立目录3.6 匿名用户的其他权限 4 用户登录控制4.1 用户登录黑名单4.2 用户登录白名单4.3 用户家目录的锁定4 虚拟用户的管理4.1 虚拟用户的建立4.2 虚拟用户家目录的独立设定4.3 虚拟账号的独立配置文件

1 ftp概述

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,是应用层的协议, 使用 TCP进行可靠的 传输。客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

ftp

FTP 是基于客户———服务器(C/S)模型而设计的,在客户端与 FTP 服务器之间建立两个连接。

FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机,而是通过FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

2 ftp服务的搭建

2.1 ftp的客户端

下载FTP的客户端软件:dnf install lftp.x86_64

2.2 FTP的服务端

vsftpd (very secure FTP daemon)最大的特点是其安全性,vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

2.2.1 服务端软件vsftpd的下载

下载vslftp:dnf install vsftpd.x86_64 -y

2.2.2 vsftp的环境配置

(1)关闭selinux

查看selinux的状态:getenforce编辑配置文件更改selinux的状态:vim /etc/sysconfig/selinux更改selinux的状态后必须重启系统:reboot确认selinux关闭

(2)开启vsftpd服务:systemctl start vsftpd.service

(3)打开防火墙,添加ftp服务

打开防火墙:systemctl start firewalld列出允许的服务:firewall-cmd --list-all永久启用ftp服务:firewall-cmd --permanent --add-service=ftp在不改变状态的条件下重新加载防火墙:firewall-cmd --reload

(4)验证ftp服务是否成功开启:ftp://172.25.254.10

2.2.3 vsftpd的基本信息

服务名称:vsftpd.service主配置目录:/etc/vsftpd/主配置文件:/etc/vsftpd/vsftpd.conf默认发布目录:/var/ftp报错信息

3 vsftp的配置参数

vsftp的主配置文件:/etc/vsftpd/vsftpd.conf

每次修改配置文件后必须重启vsftpd服务,否则更改的配置参数不生效

3.1 用户的登陆

(1) 是否允许匿名用户登陆:anonymous_enable

不允许匿名用户登陆:anonymous_enable=NO,匿名用户不能登陆 允许匿名用户访问:anonymous_enable=YES,匿名用户登陆后可以访问其中的内容

(2)是否允许本地用户登录:local_enable

不允许本地用户登陆:local_enable=NO允许本地用户登陆:local_enable=YES

3.2 设定用户的家目录

(1)设定本地用户家目录:local_root=/var/ftp

(2)设定匿名用户的家目录

匿名用户默认的家目录:/var/ftp设定匿名用户的家目录:anon_root=/westdir

3.3 匿名用户上传文件

(1)是否允许匿名用户上传文件:anon_upload_enable

修改ftp默认发布目录的所有组:chgrp ftp /var/ftp/pub

修改ftp默认发布目录的权限:chmod 777 /var/ftp/pub

不允许匿名用户上传文件:anon_upload_enable=YES

允许匿名用户上传文件:anon_upload_enable=YES

(2)上传文件的umask

当设定chown_username之后上传文件权限将不受这个参数的影响 设定匿名用户上传文件的umask值:anon_umask=022

(3)匿名用户上传文件的权限

chown_uploads=YES:所有匿名上传的文件的所属用户将会被更改成chown_username匿名上传文件所属用户名:chown_username=linux匿名上传文件的权限:chown_upload_mode=0644

3.4 匿名用户下载文件

匿名登用户能否下载可读的文件的参数:anon_world_readable_only

不允许匿名登用户下载可读的文件anon_world_readable_only=YES

允许匿名用户能下载可读的文件anon_world_readable_only=NO

3.5 匿名用户建立目录

不允许匿名用户建立目录:anon_mkdir_write_enable=NO允许匿名用户建立目录:anon_mkdir_write_enable=YES

3.6 匿名用户的其他权限

(1)是否允许匿名用户具有建立目录,上传之外的权限,如删除:anon_other_write_enable

不允许匿名用户具有建立目录,上传之外的权限:anon_other_write_enable=NO允许匿名用户具有建立目录,上传之外的权限:anon_other_write_enable=YES

(2)可接受的最大client数目:max_clients=1

第二台主机登陆该服务器时,提示超过最大的连接数,无法登录

(3)匿名用户的传输比率(b/s):anon_max_rate=10

4 用户登录控制

4.1 用户登录黑名单

(1)默认黑名单:/etc/vsftpd/user_list

将linux加入到登陆黑名单:echo linux > /etc/vsftpd/user_list

(2)永久黑名单:/etc/vsftpd/ftpusers

将westos加入到登陆黑名单:echo westos >/etc/vsftpd/ftpusers

4.2 用户登录白名单

设定/etc/vsftpd/user_list为用户登录白名单,不在此名单中的用户不能登陆在配置文件中修改:userlist_deny=NO将westos加入到登陆白名单:echo westos >/etc/vsftpd/user_list

4.3 用户家目录的锁定

(1)将本地用户锁定在其家目录中:chroot_local_user=YES

(2)锁定用户到自己家目录中的白名单

在vsftpd主配置文件中修改:/etc/vsftpd/vsftpd.conf禁止本地用户访问根目录:chroot_local_user=YES开启本地用户访问根目录的用户列表:chroot_list_enable=YES,只有列在chroot_list_file之中的使用者才能访问根目录指定名单中的用户可以访问根目录:chroot_list_file=/etc/vsftpd/chroot_list重启vsftpd服务将westos用户加入名单:echo westos > /etc/vsftpd/chroot_list

(3)锁定用户到自己家目录中的黑名单

开启本地用户访问根目录:chroot_local_user=NO开启限制本地用户访问根目录的用户列表:chroot_list_enable=YES指定名单中的用户可以访问根目录:chroot_list_file=/etc/vsftpd/chroot_list,在chroot_list_file之中的使用者不能访问根目录 重启vsftpd服务后,查看用户访问根目录黑名单

4 虚拟用户的管理

4.1 虚拟用户的建立

(1)创建认证文件:vim /etc/vsftpd/ftp_auth_file

(2)加密认证文件

db_load -T -t hash -f ftp_auth_file ftp_auth_file.db

(3)创建虚拟用户认证文件:vim /etc/pam.d/user

(4)编辑配置文件:/etc/vsftpd/vsftpd.conf

启用guest后,所有非匿名用户将映射到guest_username进行访问,包括本地系统用户也不能使用

(5)重启vsftpd服务:systemctl restart vsftpd.service

(6)虚拟用户登陆检测

user1和user2不是系统中真实存在的用户 正确的输入虚拟用户的账号密码可以正常登陆

4.2 虚拟用户家目录的独立设定

(1)实验环境

建立虚拟用户名对应的子目录:mkdir -p /ftpuserdir/user{1..2}为了便于观察实验结果在在虚拟用户名对应的目录下建立子文件:

touch /ftpuserdir/user1/userfile1 touch /ftpuserdir/user1/userfile1

(2)编辑vsftpd的配置文件:vim /etc/vsftpd/vsftpd.conf

(3)重启vsftpd服务:systemctl restart vsftpd.service

4.3 虚拟账号的独立配置文件

(1)新建目录存放虚拟用户对应的配置文件:/etc/vsftpd/virtuserconf/

(2)新建user1的配置文件:touch /etc/vsftpd/virtuserconf/user1

文件名与虚拟用户的名称一致,作为虚拟用户的配置文件,其优先级高于vsftp的主配置文件

(3)虚拟用户user1开放文件上传功能

echo anon_upload_enable=YES > /etc/vsftpd/virtuserconf/user1

(4) 关闭/etc/vsftpd/vsftpd.conf配置文件中虚拟用户上传文件的功能

(5)测试

使用虚拟用户user1和user2登录系统,验证实验效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。