FTP 是File Transfer Protocol(文件传输协议)的英文简称,用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)
在FTP的使用当中,用户经常遇到两个概念:"下载"和"上传"。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
这篇我们主要了解
1.ftp服务的基本信息
2.ftp部分参数的使用及理解
(一)对FTP服务的基本认识
0.实验前准备
1.[root@foundation114 ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
2.[root@foundation114 ~]# vim /etc/yum.repos.d/rhel_dvd.repo
baseurl = http://172.25.99.250/rh7.2
3.[root@foundation114 ~]# reboot
Connection to 172.25.254.114 closed by remote host.
Connection to 172.25.254.114 closed.
一.ftp的定义
1.ftp:// ##文件传输协议
2.ftp协议提供的软件
在rhel7 中: vsftpd
3.部署ftp服务
(1)yum install vsftpd ##安装服务
(2)systemctl start vsftpd ##开启服务
(3)systemctl enable vsftpd ##开机子启动服务
(4)firewall-cmd --permanent --add--service=ftp ##修改防火墙配置 将ftp添加进去
(5)firewall-cmd --reload
4.测试
5.ftp服务的基本信息
(1)软件安装包:vsftpd
(2)默认发布目录:/var/ftp协议接口: 21/tcp
(3)服务的配置文件 : /etc/vsftpd/vsftpd.conf
(二)FTP针对不同用户参数的配置
报错id解析:
500 文件权限过大
550 服务本身不允许此动作
553 本地文件系统权限过小
530 登陆失败,可能密码不对
0.实验前的准备 #本组实验都是通过对ftp服务配置文件的修改来实现的 修改参数后要重启服务 使新设置生效
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# systemctl restart vsftpd.service
一.匿名用户的设定
1.anonymous_enable=YES|NO ##匿名用户登陆限制
#修改前 参数为yes 匿名用户可以登陆
#修改参数为no并重启服务后 匿名用户不能登陆
2. anon_upload_enable=YES#<匿名用户上传>
(1)[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf ##修改配置文件
#anon_upload_enable=YES
anon_upload_enable=YES ##让匿名用户可上传文件
(2)[root@localhost ~]# systemctl restart vsftpd.service ##重启服务
(3)[root@localhost ~]# ls -ld /var/ftp/pub/ ##查看ftp服务默认发布目录权限
drwxr-xr-x 2 root root 6 Mar 7 2014 /var/ftp/pub/ ##此时所有组和其他人都不能写入
(4)[root@localhost ~]# chmod 777 /var/ftp/pub/ ##加777权限 权限太大 下面分析缩小权限
(5)[root@foundation14 ~]# lftp 172.25.254.114
lftp 172.25.254.114:~> ls
drwxrwxrwx 2 0 0 6 Mar 07 2014 pub
lftp 172.25.254.114:/> cd pub
lftp 172.25.254.114:/pub> put /etc/passwd ##匿名上传文件
2412 bytes transferred
(6)lftp 172.25.99.11:/pub> ls
-rw------- 1 14 50 2053 Nov 09 01:07 passwd
[root@localhost ~]# ls -lR /var/ftp/pub/
/var/ftp/pub/:
total 4
-rw------- 1 ftp ftp 2412 Nov 5 01:49 passwd ##可见上传文件所用所有人所有组身份都为ftp用户
[root@localhost ~]# id ftp
uid=14(ftp) gid=50(ftp) groups=50(ftp)
(7)[root@localhost ~]# chgrp ftp /var/ftp/pub/ ##将默认发布目录所有组改为ftp
(8)[root@localhost ~]# chmod 775 /var/ftp/pub/ ##将权限修改为775
(9) [root@localhost ~]# ls -ld /var/ftp/pub/
drwxrwxr-x 2 root ftp 19 Nov 5 01:49 /var/ftp/pub/
3.#<匿名用户家目录修改>
anon_root=/direcotry
4.#<匿名用户上传文件默认权限修改>
anon_umask=xxx
5.#<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO
6.#<匿名用户下载>
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
7.#<匿名用户删除>
anon_other_write_enable=YES|NO
8.#<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
9.#<最大上传速率>
anon_max_rate=102400
10.#<最大链接数> (同时在线人数)
max_clients=2
二.本地用户设定
1.local_enable=YES|NO ##本地用户登陆限制
2.write_enable=YES|NO ##本地用户写权限限制
3.#<本地用户家目录修改>
local_root=/directory
4.#<本地用户上传文件权限>
local_umask=xxx
5.#<限制本地用户浏览/目录>
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
6.用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
7.用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
8.#<限制本地用户登陆>
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
9.用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp