使用vsftpd服务传输文件

运用vsftpd服务传输文件

1 安装vsftpd

[root@qdlinux ~]# yum install vsftpd
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-22.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================
 Package                    Arch                       Version                           Repository               Size
=======================================================================================================================
Installing:
 vsftpd                     x86_64                     3.0.2-22.el7                      dvd                     169 k

Transaction Summary
=======================================================================================================================
Install  1 Package

Total download size: 169 k
Installed size: 348 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : vsftpd-3.0.2-22.el7.x86_64                                                                          1/1 
  Verifying  : vsftpd-3.0.2-22.el7.x86_64                                                                          1/1 

Installed:
  vsftpd.x86_64 0:3.0.2-22.el7                                                                                         

Complete!
[root@qdlinux ~]# 

2 安装ftp lftp顾客端软件

[root@qdlinux ~]# yum install ftp lftp -y
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package ftp.x86_64 0:0.17-67.el7 will be installed
---> Package lftp.x86_64 0:4.4.8-8.el7_3.2 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================
 Package                  Arch                       Version                             Repository               Size
=======================================================================================================================
Installing:
 ftp                      x86_64                     0.17-67.el7                         dvd                      61 k
 lftp                     x86_64                     4.4.8-8.el7_3.2                     dvd                     752 k

Transaction Summary
=======================================================================================================================
Install  2 Packages

Total download size: 812 k
Installed size: 2.5 M
Downloading packages:
-----------------------------------------------------------------------------------------------------------------------
Total                                                                                  8.7 MB/s | 812 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : lftp-4.4.8-8.el7_3.2.x86_64                                                                         1/2 
  Installing : ftp-0.17-67.el7.x86_64                                                                              2/2 
  Verifying  : ftp-0.17-67.el7.x86_64                                                                              1/2 
  Verifying  : lftp-4.4.8-8.el7_3.2.x86_64                                                                         2/2 

Installed:
  ftp.x86_64 0:0.17-67.el7                                lftp.x86_64 0:4.4.8-8.el7_3.2                               

Complete!

3 运维服务并出席开机自运营

[root@qdlinux ~]# systemctl start vsftpd
[root@qdlinux ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

4 查看监听端口状态

[root@qdlinux ~]# ss -lntup | grep vsftpd
tcp    LISTEN     0      32       :::21                   :::*                   users:(("vsftpd",pid=1411,fd=3))

CentOS6.5下部署vsftpd实战

1.实验供给:

1)使用RPM包安装vsftpd服务

2)实现无名客户访谈,验证仅能够访问和下载,不得以上传

3)达成佚名客商可上传、下载、修改等统统权限(现实条件中那样的供给只怕相当小)

4)完结把登录的客户监禁在协调的家目录中

5)达成限制某个客商的拜谒

6)完毕设想顾客的拜会

7)完成针对分歧的杜撰客户全数不一样的权力

2.实施景况:**

Linux服务器系统版本:Red Hat Enterprise Linux 6.5IP:192.168.20.3

Windows顾客机系统版本:Windows 7 Ultimate x64 IP:192.168.20.2

vsftpd软件版本:vsftpd-2.2.2

3.**实验步骤:**

着力安装操作

A.挂载系统光盘并安装vsftpd**

这里我们选用rpm安装包安装vsftpd,安装包放在系统光盘中的Packages目录中,我们首先挂载系统光盘到系统的mnt目录下

[[email protected]~]#
mount /dev/sr0 /mnt

图片 1

到Packages目录下找到vsftpd服务的软件包并设置,安装到位。

[[email protected]~]#
rpm -ivh
/mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm图片 2

B.翻看vsftpd配置文件**

[[email protected]
~]# grep -v “#”/etc/vsftpd/vsftpd.conf #过滤掉配置文件中#号的注脚

anonymous_enable=YES#已展开无名客商的拜谒

local_enable=YES#已开启本地账号的访谈

write_enable=YES#已拉开写入的权限

local_umask=022#本地客户上传文件的权柄是644,文件夹是755

———————以下配置为劳动默许,此试验中没有供给关切———————-

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

兑现无名氏客户访谈,验证仅能够访谈和下载,不可能上传

依赖vsftpd配置文件的默许配置,当vsftpd搭建好之后怎么都不做就足以被无名氏顾客和本地顾客访谈了

A.意义验证:**

[[email protected]~]#
service vsftpd start#起步服务

为vsftpd 启动 vsftpd: [确定]

测量试验以前,必得把防火墙和selinux关掉

[[email protected]
~]# serviceiptables stop

iptables:将链设置为政策 ACCEPT:filter [确定]

iptables:清除防火墙准绳: [确定]

iptables:正在卸载模块:[确定]

[[email protected]
~]# setenforce 0

俺们在顾客机上用文件夹的办法访谈 ftp://192.168.20.3

图片 3

如今来测验一下佚名用户的上传和下载权限

在乎:大家用佚名账号ftp登入(无密码),查看今后内地的做事目录为/,那个/而不是服务器的根目录,而是无名氏客户自身的家目录,ls查看发掘里面有一个pub的文本夹

图片 4

家目录正是服务器上/var/ftp那些目录:

图片 5

大家证实佚名客商可不得以下载首先要在ftp这些目录下新建一个可供下载的文本[[email protected]
~]# cd/var/ftp #切换到ftp目录下

[[email protected]]#
echo “this is test ftp” > test.txt #新建三个test.txt文件,内容为this
is test ftp

图片 6

回来顾客机上的cmd调控台

C:UsersAdministrator>f:
//切换来f盘,大家下载的文本就能够下载到f盘

图片 7

用佚名账号ftp登录,下载test.txt文件,张开f盘,见到已经下载的文本

图片 8

近些日子来验证佚名客商是还是不是能够上传文件,大家把刚刚下载都客商机上的test.txt文件改名称叫tes.txt文件用于上传测量检验(制止重名)

图片 9

上传时被拒绝,所以我们知晓无名氏顾客是只能下载不能够上传的。

那若是是系统地面账号的话可不得以上传呢?

[[email protected]]#
useradd tom #新建一个tom的账户

[[email protected]]#
passwd tom #设置tom的密码

回到顾客机的cmd调整台,用tom登入并上传tes.txt文件,上传成功。

图片 10

[[email protected]]#
ls -l /home/tom
#查看上传的文书的权力为644(因为安顿文件中local_umask=022)

图片 11

瞩目:就算selunux未有关掉,用本地账户也是不能登入的,会报以下错误

图片 12

完成无名顾客可上传、下载、修改等完全权限

大家要让佚名客户能够上传文件夹,要求修改配置文件:

anon_mkdir_write_enable=YES

注意:当我们不知情什么去陈设要加多什么样或要修改哪些选项时,大家能够借助man手册来寻求援助:

[[email protected]
vsftpd]# manvsftpd.conf

在手册里面查找跟anon相关的内容,大家看来有一项是other
write,他的私下认可值是No,如若设为yes就足以允许客户上传、创设目录而且删除、重命名等操作

继之大家到vsftpd.conf脚本中插入一行内容:anon_other_write_enable=YES

修改完成之后无名顾客就收获了最高权力(可读写,删除,重命名)

A.修改后的剧本**

图片 13

B.成效验证**

[[email protected]]#
service vsftpd reload#再一次加载配置

关闭 vsftpd: [确定]

为 vsftpd 启动 vsftpd: [确定]

回去客商端的cmd调节台,以ftp无名账号登录,并剔除文件,提醒失利。

图片 14

回来服务器查看ftp这些目录的权能,是绝非写权限的,所以也就不恐怕删除

图片 15

[[email protected]]#
chmod 777 /var/ftp #将ftp权限设为最大

图片 16

回到客商机,用ftp登入,发掘直接登入就报错了,因为大家把var/ftp这一个目录权限改到最大了,这样无名顾客就可以任性妄为了,为了安全,vsftpd设置了一向就不容许登入了。

图片 17

那正是说只要大家想让无名氏顾客有最大权力应该咋办啊?那时大家应有对ftp目录下的子目录进行操作

[[email protected]]#
chmod 755 /var/ftp #把ftp的权限改为暗许的755

[[email protected]]#
cd /var/ftp

[[email protected]]#
mkdir anon #在ftp目录下新建多少个anon目录

[[email protected]]#
chmod 777 anon #修改目录权限为最大

图片 18

[[email protected]]#
cp test.txt anon #将test文件拷贝到anon目录下,用于末端的删除测量检验

[[email protected]]#
ls -l #查阅test文件权限为不可写就不得以去除

图片 19

[[email protected]]#
chmod 666 test.txt #将文件权限改为可写

图片 20

这么,test.txt就足以被无名氏客户删除了。

归来顾客机的cmd调整台,用ftp登入,切换来anon目录,删除test.txt文件,删除成功。当然无名客户也是足以拓宽另外操作了此处就不一一测量检验了。

图片 21

贯彻把登入的客户软禁在温馨的家目录中

前些天我们用本地账号tom登入,默许的当前职业目录是tom本人的家目录,大家得以将他随意切换成服务器的别的目录下:

图片 22

与上述同类是不行不安全的,所以大家要让客商登入之后只是只可以在她的家目录这么些限制活动不容许他随意切换来别的目录,大家必要修改配置文件使那行配置生效:chroot_local_user=YES

A.修改后的台本**

图片 23

B.功能验证**

[[email protected]]#
service vsftpd reload #重复加载配置

关闭vsftpd: [确定]

为vsftpd 启动 vsftpd: [确定]

回来顾客机的cmd调节台,用tom登录,切换成根,开掘此时的根是她和谐的家目录,并不是服务器上的根目录下了,他早已被软禁在自个儿的家目录中了。

图片 24

落实限制某个顾客的拜候

大家查阅vsftpd目录下的剧情,发掘有贰个user_list文件

图片 25

查看user_list文件内容,开采这几个里面都以被驳回登录的顾客,所以大家要让何人无法登录就把账号写进这几个文件之中就足以了,这里我们测量试验不让tom登入

图片 26

A.修改后的剧本**

图片 27

B.作用验证**

归来客商机的cmd调节台,用tom登录,登入战败。

图片 28

只顾:这里tom登录战败的原故是因为我们把tom写进了user_list那么些文件个中,其他也是因为布置文件中userlist_enable=YES那行设置,要是安顿成userlist_deny=YES那么正是只允许user_list中的顾客登入

贯彻虚构客户的寻访

假诺我们只是想要新建vsftpd账号而不让他看成三个系统账号的话就能够用到虚构账号功用了

[[email protected]
vsftpd]# vim vuser #新建贰个称为vuser的公文

在那些文件中基数行为客户名,偶数行为密码,我们新建多个客户lisa和jack

图片 29

图片 30

[[email protected]
vsftpd]# db_load -T -thash -f vuser vuser.db#将vuser转变到数据库文件
db_load是命令 -T钦定转换-t 钦命转变类型为hash
-f内定要改变的文本vuser.db为转移后的文本名

[[email protected]
vsftpd]# file vuser.db
#查看文件类型,可以看出vuser已经被转变到一个vsftpd能识别的hash数据库文件

图片 31

[[email protected]
vsftpd]#chmod 600vuser
#为了安全,不想让其余客商能够见见这些文件里有哪些东西,修改权限为600

[[email protected]
vsftpd]#chmod 600vuser.db

编造客户创立之后,要给虚构客商映射到一个系统账号

[[email protected]
vsftpd]# useradd -d/opt/vuser -s /sbin/nologin
vuser#新建四个设想顾客的投射账号vuser,钦点宿主目录为opt/vuser,并点名分歧意登入系统

[[email protected]
vsftpd]#
vim/etc/pam.d/vsftpd.vu#为设想顾客创立pam认证模块命名叫vsftpd.vu

在验证文件中加入以下两行认证消息:

auth required pam_userdb.sodb=/etc/vsftpd/vuser

account required pam_userdb.sodb=/etc/vsftpd/vuser

#这里的vuser其实是vuser.db,这里差相当的少了db,不然会报错

随后到vsftpd.conf配置文件中插入以下三行内容:

guest_enable=YES#敞开设想客商访谈

guest_username=vuser#照耀到系统账号vuser

pam_service_name=vsftpd.vu#点名pam认证模块

在乎:vsftpd有八个暗中认可的pam认证模块,须要注释掉

A.修改后的台本**

图片 32

B.效用验证**

[[email protected]]#
service vsftpd restart #重启服务

关闭 vsftpd: [确定]

为vsftpd 启动 vsftpd: [确定]

回到客商机的cmd调控台,用lisa登入并上传文件成功

图片 33

[[email protected]]#
ls -l
/opt/vuser#查看上传的文本的属主是vuser,表达lisa是炫人眼目到vuser这几个种类账号了

图片 34

随后大家把tes.txt文件改名字为te.txt幸免重名,以jack登入并上传te.txt

图片 35

查阅jack上传的文书的属主还是是vuser

图片 36

注意:假设设想顾客都足以登录成功可是上传时提示权限被驳回的话,须要去vsftpd.conf文件中使那行生效anon_upload_enable=YES

贯彻针对分化的设想顾客全部区别的权柄

如上实验中lisa和jack的权杖是一致的,今后大家让lisa上传的文本权限为600而jack上传的公文权限为644,大家要求敞开那一个独自安插文件效能

展开vsftpd.conf配置文件,加入以下一行配置告诉她去vu_dir目录下找他俩的独立安顿文件:

user_config_dir=/etc/vsftpd/vu_dir

[[email protected]
vsftpd]# mkdir vu_dir #在vsftpd目录下新建vu_dir目录

[[email protected]
vsftpd]# cd vu_dir

[[email protected]
vu_dir]# vi jack
#在vu_dir目录下为jack新建一个独立的安顿文件(一时不写任何内容保留退出)

图片 37

咱俩用man手册查看一下anon_umask(佚名上传)那个选项,发掘暗许权限是600,所未来边大家见到lisa和jack上传的文件权限是600

图片 38

举例要使jack的上传权限是644,那就把那些值设为022就能够

紧接着大家就vi jack在文件中步入一行内容:anon_umask=022

A.修改后的台本**

图片 39

图片 40

B.功效验证**

[[email protected]_dir]#
service vsftpd restart #重启服务

关闭 vsftpd: [确定]

为 vsftpd 启动 vsftpd: [确定]

回到客商机的cmd调整台,用jack登录并上传t.txt文件

图片 41

服务器上查看上传的文书权限为644,实验成功。

图片 42

4.试验计算:**

1)vsftpd是一款在Linux发行版中最受器重的FTP服务器程序。特点是Mini轻快,安全易用。

2)vsftpd中的虚构顾客又是三个充足实用的意义,知足区别客户的分裂访问特性,在配备文件中绝对要在意权限的安顿,以减低权限设想客商是默许作为无名客户进行拍卖的。

1.试验需要:
1)使用RPM包安装vsftpd服务
2)达成佚名顾客访谈,验证仅可以访谈和下载,不能够上传
3)达成无名氏顾客可…

利用无名开放形式

服务运营后暗中认可访问的目录为/var/ftp,且无名顾客未有上传、创造、重命名、删除成效.可是兼具下载功用.

劳务开启后直接待上访谈

图片 43

创造文件夹被拒绝

图片 44

重命名失利

图片 45

咱俩来修改配置文件让佚名顾客能够上传文件,编辑配置文件vim /etc/vsftpd/vsftpd.conf,修改为如下内容

anon_upload_enable=YES
anon_umask=022

至今依然不恐怕上传文件,那是因为ftp的权柄难点变成的,我们将其修改为ftp客户权限.

==注意:私下认可佚名客商家目录/var/ftp的权杖是755,这些权力是不可能改动的,切记!==

[root@qdlinux var]# ll -d ftp
drwxr-xr-x 3 root root 30 Aug 13 21:32 ftp

[root@qdlinux var]# chown -Rf ftp /var/ftp/pub

[root@qdlinux var]# ll ftp
total 0
-rw-r--r-- 1 root root  0 Aug 13 21:32 1.txt
drwxr-xr-x 2 ftp  root 19 Aug 13 21:32 pub

而明早已得以上传文件了,可是只可以上传到ftp/pub目录中,因为刚刚给的就是那个目录的权限.以往就完事了只能上传文件和下载的目标,可是无法成立文件夹.

上传文件

图片 46

重命名失败

图片 47

创设文件夹被驳回

图片 48

[root@qdlinux var]# ll ftp/pub
total 0
-rw-r--r-- 1 ftp root 0 Aug 13 21:32 2.txt
-rw-r--r-- 1 ftp ftp  0 Aug 13 21:51 new.txt
[root@qdlinux var]# 

假定急需张开无名顾客能够创建文件夹功能,修改配置文件如下所示.

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022

最近无名客商能够上传文件和下载文件以及开创文件夹.不过不能够重命名.

若果急需张开无名氏客商上传下载和开创文件夹以及重命名和删除作用,修改配置文件如下所示.

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022

前段时间无名顾客能够实现上传和下载,成立文件夹和删除文件夹和文书以及重命名.

上传文件
图片 49

新建文件夹
图片 50

那是无名顾客的最大权力了,平常无名访谈的话,只要成功下载功效就能够了。网址提供哪些客户下载什么。


发表评论

电子邮件地址不会被公开。 必填项已用*标注