####################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
***实例如下:
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: langpacks
Cleaning repos: rhel7.2 software
Cleaning up everything
[root@localhost 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
[root@localhost 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
******实例如下:*******
[root@localhost ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# systemctl enable firewalld ##开机自动开启防火墙
[root@localhost ~]# systemctl start vsftpd ##开启vsftpd服务
systemctl enable vsftpd ##开机自动开启vsftpd服务
******创建本地用户*********
[root@localhost ~]# id student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@localhost ~]# id westos
uid=666(westos) gid=1001(westos) groups=1001(westos)
******在匿名用户ftp的家目录里建立文件**********
[root@localhost ~]# touch /var/ftp/westosfile
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
如图一:匿名用户登陆(anonymouns_enable=NO)
[root@localhost ~]# 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
*******实例如下:
****未修改配置文件之前*****
[root@foundation90 ~]# lftp 172.25.254.135 -u student ##本地用户登录
Password:
lftp student@172.25.254.135:~> 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 student@172.25.254.135:~> quit
[root@foundation90 ~]# 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,进行的相应的测试
[root@foundation90 ~]# 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)
[root@foundation90 ~]# 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 westos@172.25.254.135:~> lftp 172.25.254.135 -u student
##本地用户登录
Password:
lftp student@172.25.254.135:~> ls
ls: Login failed: 530 This FTP server is anonymous only.
lftp student@172.25.254.135:~> quit
[root@foundation90 ~]# 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
(如图四)
***相应的测试如下:
[root@foundation90 ~]# 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)
[root@foundation90 ~]# 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
(如图六)
[root@foundation90 ~]# 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
(如图七)
****相应的测试:
[root@foundation90 ~]# 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