unit2.9部署 ftp 文件共享服务

####################unit2.9#################################

                    部署 ftp 文件共享服务

 

 

¥¥¥¥¥¥一,部署 FTP 服务器

 

1,FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法

 

2,在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名称为 VSFTPD , 它代表 Very Secure File Transfer Protocol Damon 服务器名称也叫做 vsftpd

 

3, 默认配置文件让 ANONYMOUS 用户只能下载位于CHROOT 目录中的内容。 /var/ftp/ 这意味着远程 FTP客户端能以用户 anonymous 或 ftp 身份连接到服务器

( 无需密码 ), 并从 ftp 服务器上的 /var/ftp/ 目录下载文件( 其本地 ftp 用户可以读取这些文件 )

 

 

 

 

¥¥¥¥¥¥二,部署网络服务的四个步骤

**********************************************************************

1,安装服务软件

2,启动服务

3,启用服务

4,测试服务

***********************************************************************

1,安装 vsftpd 包并启动服务

1) yum install vsftpd -y

 

2)systemctl start vsftpd

 

3)systemctl enable vsftpd

 

***实例如下:

 

[[email protected] yum.repos.d]# yum clean all

Loaded plugins: langpacks

Cleaning repos: rhel7.2 software

Cleaning up everything

[[email protected] yum.repos.d]# yum search ftp 查找ftp的安装包

Loaded plugins: langpacks

rhel7.2                                                  | 4.1 kB     00:00     

.....................

lftp.x86_64 : A sophisticated file transfer program

 

[[email protected] yum.repos.d]# yum install vsftpd.x86_64  -y

##安装vsftpd服务

 

Loaded plugins: langpacks

Resolving Dependencies

--> Running transaction check

.................................

  vsftpd.x86_64 0:3.0.2-10.el7                                                  

Complete!

 

2,启用 vsftpd 服务

 Applications-->Sundry-->Firewall

 

******实例如下:*******

[[email protected] ~]# firewall-cmd --list-all

public (default, active)

  interfaces: eth0

  sources:

  services: dhcpv6-client ssh

  ports:

  masquerade: no

  forward-ports:

  icmp-blocks:

  rich rules:

[[email protected] ~]# firewall-cmd --permanent --add-service=ftp

success

[[email protected] ~]# firewall-cmd --reload

success

[[email protected] ~]# systemctl enable firewalld ##开机自动开启防火墙

[[email protected] ~]# systemctl start vsftpd  ##开启vsftpd服务

systemctl enable vsftpd   ##开机自动开启vsftpd服务

******创建本地用户*********

[[email protected] ~]# id student

uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)

[[email protected] ~]# id westos

uid=666(westos) gid=1001(westos) groups=1001(westos)

 

******在匿名用户ftp的家目录里建立文件**********

[[email protected] ~]# touch /var/ftp/westosfile

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf

如图一:匿名用户登陆(anonymouns_enable=NO)

 

 

 

 

[[email protected] ~]# systemctl restart vsftpd.service ##修改完配置文件后,重启服务

 

3,测试服务

******服务端,在ftp的家目录下pub/里,创建文件:

1) cd /var/ftp/pub/

 

2)touch file{1..3}

 

*****在远程客户端登陆,进行测试:

3)lftp 172.25.0.10

lftp 172.25.0.10:~> ls

drwxr-xr-x 2 0

0

lftp 172.25.0.10:/> cd pub/

lftp 172.25.0.10:/pub> ls

-rw-r--r-- 1 0

0

-rw-r--r-- 1 0

0

-rw-r--r-- 1 0

0

42 Nov 20 07:19 pub

0 Nov 20 07:19 file1

0 Nov 20 07:19 file2

0 Nov 20 07:19 file3

 

*******实例如下:

 

****未修改配置文件之前*****

[[email protected] ~]# lftp 172.25.254.135 -u student ##本地用户登录

Password:

lftp [email protected]:~> ls      

drwxr-xr-x    2 1000     1000            6 Apr 21 12:09 Desktop

drwxr-xr-x    2 1000     1000            6 Apr 21 12:09 Documents

.......................

drwxr-xr-x    2 1000     1000            6 Apr 21 12:09 Videos

lftp [email protected]:~> quit

 

[[email protected] ~]# lftp 172.25.254.135 ##匿名登录,用ftp身份

lftp 172.25.254.135:~> ls

drwxr-xr-x    2 0        0               6 Aug 03  2015 pub

lftp 172.25.254.135:/> ls

drwxr-xr-x    2 0        0               6 Aug 03  2015 pub

lftp 172.25.254.135:/> quit

 

*****服务端,在/var/ftp下,创建文件westosfile,进行的相应的测试

[[email protected] ~]# lftp 172.25.254.135

lftp 172.25.254.135:~> ls

drwxr-xr-x    2 0        0               6 Aug 03  2015 pub

-rw-r--r--    1 0        0               0 Apr 26 09:32 westosfile

lftp 172.25.254.135:/> quit

 

*****修改配置文件后(anonymous_enable=NO)

[[email protected] ~]# lftp 172.25.254.135

lftp 172.25.254.135:~> ls

Interrupt                                  

lftp 172.25.254.135:~> quit

 

 

 

 

¥¥¥¥¥¥三,FTP 服务器配置

1,默认配置为匿名 FTP 服务器 , 仅允许匿名客户端下载 , 并且禁止所有本地用户 , 禁止上传。

 

2,vsftpd 配置文件 : /etc/vsftpd/vsftpd.conf ,document root 位于 /var/ftp/ 中 , 配置修改后 , 需重新启动服务,systemctl restart vsftpd

 

3,选项示例 :

– anonymous_enable=YES

– local_enable=NO

– write_enable=NO

 

服务器配置如图二:

 

 

 

****相应的测试***

lftp [email protected]:~> lftp 172.25.254.135 -u student

##本地用户登录

Password:

lftp [email protected]:~> ls

ls: Login failed: 530 This FTP server is anonymous only.

lftp [email protected]:~> quit

 

[[email protected] ~]# lftp 172.25.254.135 ##匿名用户登录

lftp 172.25.254.135:~> ls

drwxr-xr-x    2 0        0              51 Apr 26 10:29 pub

-rw-r--r--    1 0        0               0 Apr 26 09:32 westosfile

lftp 172.25.254.135:/> cd pub/

lftp 172.25.254.135:/pub> put /etc/passwd

put: Access failed: 550 Permission denied. (passwd)

 

 

***配置文件****

设定写的权限及匿名用户上传的权限:

write_enable=YES

anon_upload_enable=YES

(如图三)

 

 

 

chgrp ftp /var/ftp/pub

chmod 755 /var/ftp/pub

 

***相应的测试:

 lftp 172.25.254.135

lftp 172.25.254.135:~> ls

drwxrwxr-x    2 0        50             51 Apr 26 10:29 pub

-rw-r--r--    1 0        0               0 Apr 26 09:32 westosfile

lftp 172.25.254.135:/> cd pub/

lftp 172.25.254.135:/pub> put /etc/passwd

2367 bytes transferred

lftp 172.25.254.135:/pub> ls

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile1

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile2

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile3

-rw-------    1 14       50           2367 Apr 26 11:00 passwd

lftp 172.25.254.135:/pub> quit

 

 

 

******配置文件:

匿名用户的设定:

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

(如图四)

 

 

***相应的测试如下:

[[email protected] ~]# lftp 172.25.254.135

lftp 172.25.254.135:~> ls

drwxrwxr-x    2 0        50             64 Apr 26 11:00 pub

-rw-r--r--    1 0        0               0 Apr 26 09:32 westosfile

lftp 172.25.254.135:/> cd pub/

lftp 172.25.254.135:/pub> get passwd

2367 bytes transferred

lftp 172.25.254.135:/pub> quit

 

 

*****配置文件:

设定匿名用户的权限:

anon_umask=022

(如图五)

 

 

 

*****相应的测试:(可见到,上传的group的权限为644)

[[email protected] ~]# lftp 172.25.254.135

lftp 172.25.254.135:~> ls

drwxrwxr-x    2 0        50             64 Apr 26 11:00 pub

-rw-r--r--    1 0        0               0 Apr 26 09:32 westosfile

lftp 172.25.254.135:/> cd pub/

lftp 172.25.254.135:/pub> ls

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile1

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile2

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile3

-rw-------    1 14       50           2367 Apr 26 11:00 passwd

lftp 172.25.254.135:/pub> put /etc/group

993 bytes transferred

lftp 172.25.254.135:/pub> ls

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile1

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile2

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile3

-rw-r--r--    1 14       50            993 Apr 26 11:36 group

-rw-------    1 14       50           2367 Apr 26 11:00 passwd

lftp 172.25.254.135:/pub> quit

 

 

*****配置文件

设定匿名用户使用westos的身份登录以及上传文件:

chown_uploads=YES

chown_username=westos

(如图六)

 

[[email protected] ~]# lftp 172.25.254.135

lftp 172.25.254.135:~> ls

drwxrwxr-x    2 0        50             76 Apr 26 11:36 pub

-rw-r--r--    1 0        0               0 Apr 26 09:32 westosfile

 

lftp 172.25.254.135:/pub> ls

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile1

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile2

-rw-r--r--    1 0        0               0 Apr 26 10:29 ftpfile3

-rw-------    1 666      50            993 Apr 26 11:44 group

-rw-------    1 14       50           2367 Apr 26 11:00 passwd

lftp 172.25.254.135:/pub> put /etc/group

put: Access failed: 553 Could not create file. (group)

 

*****设定匿名用户的家目录及上传速率:

mkdir /westos

touch /westos/westosfile{1..10}

 

*****配置文件:

设定匿名用户上传的权限为0644,及最大速率为102400/s,家目录为/westos。

chown_uploads=YES

chown_username=westos

chown_upload_mode=0644

anon_max_rate=102400

anon_root=/westos

(如图七)

 

 

****相应的测试:

[[email protected] ~]# lftp 172.25.254.135

lftp 172.25.254.135:~> ls

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile1

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile10

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile2

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile3

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile4

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile5

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile6

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile7

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile8

-rw-r--r--    1 0        0               0 Apr 26 12:01 westosfile9