阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下使用vsftp搭建FTP服务器实现文件共享

258次阅读
没有评论

共计 4803 个字符,预计需要花费 13 分钟才能阅读完成。

FTP 服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照 FTP 协议提供服务。

FTP(File Transfer Protocol: 文件传输协议)作用:Internet 上用来传送文件的协议。

常见 FTP 服务器:

Windows:Serv-U FTP Server

Linux:ProFTPD:(Professional FTP daemon)一个 Unix 平台上或是类 Unix 平台上(如 Linux, FreeBSD 等)的 FTP 服务器程序。

本文的主角:vsftp。VSFTP 是一个基于 GPL 发布的类 Unix 系统上使用的 FTP 服务器软件,它的全称是 Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

特点:它是一个安全、高速、稳定的 FTP 服务器。本文从以下几个方面来介绍 ftp 服务器:

一、学习一个新服务的方法

  • 二、VSFTP 服务器的安装配置。
  • 三、VSFTP 服务器实战

一、学习一个新服务的方法

1、此服务器的概述:名字,功能,特点,端口号

2、安装

3、配置文件的位置

4、服务启动关闭脚本,查看端口

5、此服务的使用方法

6、修改配置文件,实战举例

7、排错(从下到上,从内到外)

二、VSFTP 服务器的安装配置

本文的服务器架构:

FTP 服务端:xiaolyu10  IP:192.168.31.10

FTP 客户端:xiaolyu11  IP:192.168.31.11

1. 安装:

 yum 安装或 rpm 安装均可。

[root@xiaolyu10 ~]# rpm -qa | grep vsftp
vsftpd-2.2.2-21.el6.x86_64
[root@xiaolyu10 ~]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-6.el6_0.1.x86_64.rpm

[root@xiaolyu10 ~]# yum install -y vsftp

[root@xiaolyu11 ~]# yum -y install  lftp

2. 配置文件:

[root@xiaolyu10 ~]# ls -l /etc/vsftpd
total 32
-rw-r–r– 1 root root  13 Mar 16 15:14 chroot_list
-rw——- 1 root root  125 May 11  2016 ftpusers
-rw——- 1 root root  361 May 11  2016 user_list
-rw——- 1 root root 4644 Mar 16 15:13 vsftpd.conf
-rw——- 1 root root 4599 Mar 16 14:12 vsftpd.conf_bak
-rwxr–r– 1 root root  338 May 11  2016 vsftpd_conf_migrate.sh

/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件

/etc/vsftpd/ftpusers:用于指定哪些用户不能访问 FTP 服务器。黑名单

/etc/vsftpd/user_list:指定允许使用 vsftpd 的用户列表文件。白名单

vim  /etc/vsftpd/user_list

# 如果 userlist_deny= YES(默认),绝不允许在这个文件中的用户登录 ftp,甚至不提示输入密码

#prompt 提示

/etc/vsftpd/vsftpd_conf_migrate.sh:是 vsftpd 操作的一些变量和设置脚本

/var/ftp/:默认情况下匿名用户的根目录

三、VSFTP 服务器实战

实战 1:

公司技术部准备搭建一台功能简单的 FTP 服务器,允许所有员工上传和下载文件,并允许创建用 户自己的目录。

分析:

允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能

开启,

anon_mkdir_write_enable 字段可以控制是否允许匿名用户创建目录。

备份原配置文件:

[root@xiaolyu10 vsftpd]# cp vsftpd.conf vsftpd.conf_bak

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

允许匿名用户访问

anonymous_enable=YES

允许匿名用户上传文件并可以创建目录

anon_upload_enable=YES

anon_mkdir_write_enable=YES 

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

启动服务:

[root@xiaolyu10 ~]# service vsftpd restart

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

 Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

 

[root@xiaolyu10 pub]# chown ftp.ftp /var/ftp/pub/

然后测试,是可以新建文件夹了,但是不能重命名,不能删除!

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

 

[root@xiaolyu10 ~]# mkdir /var/ftp/xiaolyudata
[root@xiaolyu10 ~]# chown ftp.ftp /var/ftp/xiaolyudata
[root@xiaolyu10 ~]# ll -d !$
ll -d /var/ftp/xiaolyudata
drwxr-xr-x 2 ftp ftp 4096 Mar 16 14:34 /var/ftp/xiaolyudata
[root@xiaolyu10 ~]#

 重启服务:

[root@xiaolyu10 ~]# service vsftpd restart
Shutting down vsftpd:                                      [OK]
Starting vsftpd for vsftpd:                                [OK]
[root@xiaolyu10 ~]#

 现在匿名上传的文件是禁止删除的。

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

 

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

 

这样匿名用户的上传就算成功了

注:工作中,匿名用户只是只读访问,写的权限也没有的。

补充:

如果想让匿名用户可以重命名或者删除的权限,添加如下一条配置参数:

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

重启服务:

[root@xiaolyu10 ~]# service vsftpd restart
Shutting down vsftpd:                                      [OK]
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anon_other_write_enable
                                                          [FAILED]

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

根据提示,说明我刚才添加的那一行匿名写权限的参数有问题

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

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

也就是说参数后面不能有多余的空格。

 重新启动就可以对重新命名和删除文件夹了,

匿名用户就可以删除和修改,非常不安全,慎重使用这个参数。

注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!

[root@xiaolyu10 ~]# service vsftpd restart

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

 

实战 2:

公司内部现在有一台 FTP 和 WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文 件、创建目录、更新网页等等。公司现有两个部门负责维护任务,他们分别适用 team1 和 team2 帐号进行管理。先要求仅允许 team1 和 team2 帐号登录 FTP 服务器,但不能登录本地系统,并将 这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。

ftp 和 www web 服务器相结合。

www web 服务器根目录:/var/www/html

只允许:team1 和 team2 两用户 可以上传。vsftp 禁止匿名。

分析:

FTP 和 WEB 服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安 全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用 chroot 功能将 team1team2 锁定在 /var/www/html 目录下。如果需要删除文件则还需要注意本地权限 

解决方案:

1)建立维护网站内容的 ftp 帐号 team1 和 team2 并禁止本地登录,然后设置其密码

[root@xiaolyu10 ~]# useradd -s /sbin/nologin team1
[root@xiaolyu10 ~]# useradd -s /sbin/nologin team2
[root@xiaolyu10 ~]# echo “123456” | passwd –stdin team1
Changing password for user team1.
passwd: all authentication tokens updated successfully.
[root@xiaolyu10 ~]# echo “123456” | passwd –stdin team2
Changing password for user team2.
passwd: all authentication tokens updated successfully.

2)配置 vsftpd.conf 主配置文件并作相应修改

[root@xiaolyu10 vsftpd]# cp vsftpd.conf_bak vsftpd.conf
cp: overwrite `vsftpd.conf’? y
[root@xiaolyu10 vsftpd]# vim vsftpd.conf

#anonymous_enable=YES
anonymous_enable=NO   
禁止匿名用户登录
#
# Uncomment this to allow local users to log in.
local_enable=YES  允许本地用户登录

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

继续将:

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

修改为:

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

local_root=/var/www/html:设置本地用户的根目录为/var/www/html

chroot_list_enable=YES:激chroot 功能

chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件。此文件存放要锁定的用户名

保存退出

3)建立 /etc/vsftpd/chroot_list 文件,添加 team1 和 team2 帐号

[root@xiaolyu10 vsftpd]# touch /etc/vsftpd/chroot_list
[root@xiaolyu10 vsftpd]# ll !$
ll /etc/vsftpd/chroot_list
-rw-r–r– 1 root root 0 Mar 16 15:13 /etc/vsftpd/chroot_list
[root@xiaolyu10 vsftpd]# vim /etc/vsftpd/chroot_list
  #写入以下内容,一行,一个用户名

team1

team2

4)重启 vsftpd 服务使配置生效

service vsftpd restart

5)修改本地权限

[root@xiaolyu10 vsftpd]# mkdir -p /var/www/html/
[root@xiaolyu10 vsftpd]# ll -d /var/www/html/
drwxr-xr-x 2 root root 4096 Mar 16 15:16 /var/www/html/
[root@xiaolyu10 vsftpd]# chmod -R o+w /var/www/html/
[root@xiaolyu10 vsftpd]# ll -d /var/www/html/
drwxr-xrwx 2 root root 4096 Mar 16 15:16 /var/www/html/

(6). 测试:

Linux 下使用 vsftp 搭建 FTP 服务器实现文件共享

 

[root@xiaolyu11 ~]# lftp 192.168.31.10 -uteam1,123456
lftp team1@192.168.31.10:~> ls
drwxr-xr-x    2 500      500          4096 Mar 16 07:24 web
lftp team1@192.168.31.10:~>

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144900.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4803字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中