FTP

来源:互联网 发布:mysql 默认值约束 编辑:程序博客网 时间:2024/06/08 06:43

FTP(File Transfer Protocol,文件传输协议):是INTERNET上常用的最老的网络协议之一,是TCP/IP协议组中的协议之一,由FTP服务器和FTP客户端组成。FTP服务器用来存储文件,用户使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

1.ftp:// 文件传输协议
2.ftp协议提供的软件
在rhel7中:vsftpd
3.部署ftp服务

yum install vsftpd -y                 ##下载vsftpdsystemctl start vsftpd                ##打开vsftpdsystemctl enable vsftpd               ##开机自动启动vsftpdfirewall-cmd  --permanent  --add-service=ftp       ##防火墙中添加ftp服务firewall-cmd  --reload                ##加载防火墙

vim /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#     enforcing - SELinux security policy is enforced.#     permissive - SELinux prints warnings instead of enforcing.#     disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of three two values:#     targeted - Targeted processes are protected,#     minimum - Modification of targeted policy. Only selected processes are protected. #     mls - Multi Level Security protection.SELINUXTYPE=targeted

reboot

这里写图片描述

ftp的基本信息
软件安装包:vsftpd
默认发布目录:/var/ftp
协议接口:21 20
服务配置文件:/etc/vsftpd/vsftpd.conf

报错id解析:
550 没有权限,服务本身拒绝开放
553 本地文件系统权限过小
530 用户认证失败
500 权限太大,服务拒绝使用

4.匿名用户,本地用户登陆

anonymous_enable=YES    ##匿名用户是否可以登陆ftp服务local_enable=YES | NO   ##本地用户是否可以登陆

这里写图片描述

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES ##匿名用户可以登陆ftp服务
local_enable=YES ##本地用户可以登陆
[root@localhost ~]# systemctl restart vsftpd
这里写图片描述

5.ftp对本地用户是否可写

write_enable=NO          ##ftp对本地用户不可写

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
write_enable=NO
[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# lftp 172.25.254.203
lftp 172.25.254.203:~> ls
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub
lftp 172.25.254.203:/> put /etc/passwd
put: Access failed: 550 Permission denied. (passwd)
lftp 172.25.254.203:/>
这里写图片描述

6.匿名用户建立目录

anon_mkdir_write_enable=YES     ##匿名用户建立目录

这里写图片描述
测试:
lftp 172.25.254.203:/pub> mkdir test
mkdir ok, `test’ created
这里写图片描述

7.匿名用户上传

write_enable=YESanon_upload_enable=YESchgrp ftp /var/ftp/pubchmod 755 /var/ftp/pub

这里写图片描述

8.匿名用户家目录修改

anon_root=/directory

这里写图片描述

测试
这里写图片描述

9.匿名用户上传文献默认权限修改

anon_umask=xxx

这里写图片描述

测试
这里写图片描述

10.匿名用户下载

anon_world_readable_only=NO   ##设置为no表示可以下载

这里写图片描述

测试
这里写图片描述

11.匿名用户删除

anon_other_write_enable=YES

这里写图片描述
测试
这里写图片描述

12.匿名用户使用的用户身份登陆

chown_uploads=YES        chown_username=ftp   

这里写图片描述

测试

[root@localhost ~]# lftp 172.25.254.203lftp 172.25.254.203:~> cd pub/cd ok, cwd=/publftp 172.25.254.203:/pub> lslftp 172.25.254.203:/pub> put /etc/passwd2005 bytes transferredlftp 172.25.254.203:/pub> ls -ld /etc/passwdlftp 172.25.254.203:/pub> ls-rw-------    1 1000     50           2005 Nov 05 07:55 passwdlftp 172.25.254.203:/pub> 

这里写图片描述

13.最大上传速度

anon_max_rate=2048000    ##最大上传速度

这里写图片描述

14.最大链接数

max_clients=2            ##最大链接数

这里写图片描述

测试
这里写图片描述

15.限制本地用户登陆

vim  /etc/vsftpd/ftpusers                            ##用户黑名单

这里写图片描述

vim  /etc/vsftpd/user_list                           ##用户临时黑名单

这里写图片描述

16.本地用户上传文件权限

local_umask=022

这里写图片描述

测试
这里写图片描述

17.本地用户家目录修改

local_root=/westos

这里写图片描述

测试
这里写图片描述

18.限制本地用户浏览目录
所有的用户被锁定到自己的家目录中

chroot_local_user=YESchmod u-w  /home/*

这里写图片描述

测试
这里写图片描述

19.用户黑名单建立

chroot_local_user=YESchroot_list_enable=YES (default follows)chroot_list_file=/etc/vsftpd/chroot_list

这里写图片描述

测试
这里写图片描述

20.用户白名单建立

userlist_deny=NO/etc/vsftpd/user_list    ##参数设定,此文件变成用户白名单,在名单中出现的用户可以登陆ftp服务

这里写图片描述

这里写图片描述
测试
这里写图片描述

21.ftp虚拟用户的设定

pam_service_name=redhat    ##指定pam配置文件guest_enable=YES           ##启用虚拟帐号支持guest_username=ftp         ##映射虚拟用户身份userlist_enable=YEStcp_wrappers=YES虚拟帐号家目录独立设定:local_root=/ftpuserhome/$USER  ##对虚拟用户默认末路进行设置user_sub_token=$USER           ##安全认证
[root@localhost ~]# vim /etc/vsftpd/redhat  ##文件名称任意ftpuser1123ftpuser2123ftpuser3123[root@localhost ~]# 
[root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/redhat redhat.db
[root@localhost ~]# vim /etc/pam.d/redhat   ##文件名称任意account     required    pam_userdb.so   db=/etc/vsftpd/redhatauth        required    pam_userdb.so   db=/etc/vsftpd/redhat
vim /etc/vsftpd/vsftpd.confpam_service_name=redhat       ##指定pam配置文件guest_enable=YES              ##启用虚拟帐号支持虚拟帐号身份指定)guest_username=ftp            ##映射虚拟用户身份chmod u-w /home/ftp         虚拟帐号家目录独立设定)vim /etc/vsftpd/vsftpd.conflocal_root=/ftpuserhome/$USER  ##对虚拟用户默认末路进行设置user_sub_token=$USER           ##安全认证mkdir /ftpuserhomechgrp ftp /ftpuserhomechmod g+s /ftpuserhomemkdir /ftpuserhome/ftpuser{1..3}

这里写图片描述

测试:
这里写图片描述

虚拟帐号配置独立vim /etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/userconfmkdir -p /etc/vsftpd/userconfvim /etc/vsftpd/userconf/ftpuser1在此文件中设定配置文件中的所有参数,此文件的优先级搞

22.本地用户上传文件

write_enable=YES                      ##本地用户可写local_enable=YES                      ##本地用户可以登陆setsebool ftp_home_dir --> off on     ##修改布尔值测试:[root@localhost Desktop]# lftp 172.25.254.187 -u studentPassword: lftp student@172.25.254.187:~> ls      lftp student@172.25.254.187:~> put /etc/passwd2058 bytes transferredlftp student@172.25.254.187:~> ls-rw-r--r--    1 1000     1000         2058 Nov 24 15:11 passwdlftp student@172.25.254.187:~> exit

这里写图片描述

原创粉丝点击