学校做网站,手机网站发号系统源码,怎么做百度提交入口网站,wordpress 不能提交评论文章目录 FTP、NFS、SAMBA系统服务一、FTP服务概述1、FTP服务介绍2、FTP服务的客户端工具3、FTP的两种运行模式#xff08;了解#xff09;☆ 主动模式☆ 被动模式 4、搭建FTP服务#xff08;重要#xff09;5、FTP的配置文件详解#xff08;重要#xff09; 二、FTP任务… 文章目录 FTP、NFS、SAMBA系统服务一、FTP服务概述1、FTP服务介绍2、FTP服务的客户端工具3、FTP的两种运行模式了解☆ 主动模式☆ 被动模式 4、搭建FTP服务重要5、FTP的配置文件详解重要 二、FTP任务解决方案1、任务背景2、创建账号(Server)--用于其他人登录ftp服务3、不允许匿名用户访问4、指定账号访问的目录5、限定kefu/123只能在/data/kefu目录下活动 四、经验值1、500 OOPS2、无法上传3、禁锢目录补充 三、FTP服务工具1、Linux下ftp客户端管理工具☆ ftp工具☆ lftp工具批量操作 2、FTP知识点补充☆ FTP访问对象控制黑名单☆ FTP网络访问控制限IP限速☆ 限制IP地址☆ 限制FTP流量 四、完整的ftp服务配置步骤--非脚本五、练习 FTP、NFS、SAMBA系统服务
一、FTP服务概述
1、FTP服务介绍
FTPFile Transfer Protocol是一种应用非常广泛并且古老的一个互联网文件传输协议。 文件传输文件上传与文件下载 主要用于互联网中文件的双向传输上传/下载、文件共享跨平台 Linux、WindowsFTP是C/S架构拥有一个客户端和服务端使用TCP协议作为底层传输协议提供可靠的数据传输FTP的默认端口 21号命令端口 20号数据端口主动模式下 默认被动模式下FTP程序软件vsftpd FTP软件名称 vsftpd vsvery secure ftp daemon 2、FTP服务的客户端工具
Linuxftp、lftp客户端程序WindowsFlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefoxlftp和ftp工具区别 lftp默认是以匿名用户访问ftp默认是以用户名/密码方式访问lftp可以批量并且下载目录
3、FTP的两种运行模式了解
在FTP服务中其一共拥有两种模式主动模式 被动模式 参考点FTP的服务器端。如果是FTP服务器端主动连接客户端主动模式如果是客户端主动连接FTP服务器端被动模式。 ☆ 主动模式 cmd命令端口发送FTP请求
data数据端口后期用于传输数据
1. 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求
2. 服务端的21号命令端口响应客户端的随机命令端口
3. 服务端的20号端口主动请求连接客户端的随机数据端口
4. 客户端的随机数据端口进行确认☆ 被动模式 1. 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求
2. 服务端的21号命令端口响应客户端的随机命令端口
3. 客户端主动连接服务端打开的大于1023的随机数据端口
4. 服务端进行确认FTP默认使用的就是被动模式
4、搭建FTP服务重要
1. 关闭防火墙和selinux
2. 配置yum源(mount /dev/sr0 /mnt)
3. 软件三部曲
4. 了解配置文件
5. 根据需求修改配置文件来完成服务的搭建
6. 启动服务开机自启动
7. 测试验证第一步关闭防火墙与SELinux
# systemctl stop firewalld
# systemctl disable firewalld# setenforce 0
# vim /etc/selinux/config
SELINUXdisabled第二步配置YUM源
有网配置公网YUM源阿里、清华、华为没网就配置本地YUM源
这里用公网阿里云
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
# yum makecache第三步安装vsftpd软件FTP vsftpd
# yum install vsftpd -y
这里需要一些环境如果报错的话
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
第四步启动ftp服务并添加到开机启动项中
# systemctl start vsftpd
# systemctl enable vsftpd第五步测试FTP是否安装成功
☆ 基于Windows资源管理器的访问
在我的电脑上输入栏里ftp://192.168.1.12
☆ 基于FlashFxp、FileZilla软件 ☆ 基于ftp以及lftp命令进行连接Linux与Linux之间的FTP文件传输 yum install ftp lftp -y
# ftp 192.168.1.12单个文件
上传: put 文件名
下载: get 文件名多个文件
上传多个文件(支持通配符)mput 文件名1 文件名2
下载多个文件(支持通配符)mget 文件名1 文件名2整个目录
上传文件夹mirror -R 文件夹名
下载文件夹mirror 下载文件夹存放到本地目录的位置lftp是一个功能强大的下载工具它支持访问文件的协议ftpsftp, ftps, http, hftp, fish.(其中ftps和https需要在编译的时候包含openss库)。lftp的界面和shell很像有命令补全功能历史记录允许多个后台任务执行等功能使用起来比较疯便。而且它还具有书签排队镜像断点续传多进程下载等功能。1、登录ftp
//命令格式
lftp用户名:密码ftp地址传送端口(默认为21)用法
(1)lftp username:password127.0.0.0 回车
(2)lftp username127.0.0.0 回车 #默认端口为21 回车后输入密码
(3)lftp 127.0.0.0 回车 ##回车后 login [] 登录
(4)lftp 回车 --open 127.0.0.0--login 登录
//如果在命令行中输入站点的名称lftp将直接登录站点
如ivyivy-OptiPlex-380:~$ lftp ftp://androidftp:androidftp192.168.12.76/
cd 成功, 当前目录/
lftp androidftp192.168.12.76:/
//如果不在命令行输入站点名称则必须在进入到ftp界面后用open命令打开2、下载文件
下载文件前首先要设置还本地的目录用来存放下载的文件
lcd /home/ivy/doc ##设置本地存放目录get filename (如1.txtppt pdf) //下载单个文件mget *.txt //下载一组文件,也即是批量下载所有的txt文件
get -c 1.txt //断点续传下载
mget -c *.txt //断点续传
pget -c n 10 file.dat //最多10个线程以允许断点续传的方式下载file.dat
mget -d dirname/(通配符*) //下载目录
mirror dirname //将目录的整个下载下来子目录也会自动复制到本地自动建立目录3、 上传文件put 1.txt
mput *.txt
mirror -R miao //上传整个目录
mput -d dirname/* #上传目录
!ls浏览本体目录
cd切换到远端目录(lcd 切换到本地目录)
基本使用方法
1)、下载服务器端文件
# mirror –vn RCD LCD //RCD为远程路径LCD为本地路径
2)、上传文件
# mirror –R LCD RCD4.从远程主机上下载目录文件通过sftp下载目录
lftp sftp://userhost -p port lftp : mirror my_path5、FTP的配置文件详解重要
在Server服务器端使用rpm -ql vsftpd
# rpm -ql vsftpd
/usr/lib/systemd/system/vsftpd.service 启动脚本
/etc/vsftpd 配置文件的目录
/etc/vsftpd/ftpusers 用户列表文件黑名单
/etc/vsftpd/user_list 用户列表文件可黑可白默认是黑名单
/etc/vsftpd/vsftpd.conf 配置文件(主配置文件)
/usr/sbin/vsftpd 程序本身二进制的命令
/var/ftp 匿名用户的默认数据根目录
/var/ftp/pub 匿名用户的扩展数据目录vsftpd配置文件详解
# grep -v ^# /etc/vsftpd/vsftpd.conf
anonymous_enableYES 支持匿名用户访问
local_enableYES 支持非匿名用户,普通账号登录默认进入到自己家目录
write_enableYES 写总开关
local_umask022 反掩码 file:644 rw- r-- r-- dir:755
dirmessage_enableYES 启用消息功能
xferlog_enableYES 开启或启用xferlog日志
connect_from_port_20YES 支持主动模式默认被动模式
xferlog_std_formatYES xferlog日志格式
listenYES ftp服务独立模式下的监听pam_service_namevsftpd 指定认证文件
userlist_enableYES 启用用户列表
tcp_wrappersYES 支持tcp_wrappers功能(FTP限速操作)# man 5 vsftpd.conf 二、FTP任务解决方案
1、任务背景
简单来说根据我们所学的内容FTP搭建一个客户服务系统主要涉及客服资料上传与下载
1. 客服人员必须使用用户名密码(kefu/123)的方式登录服务器来下载相应文档
2. 不允许匿名用户访问
3. 客服部门的相关文档保存在指定的目录里/data/kefu local_root/data/kefu
4. 客服用户使用用户kefu/123登录后就只能在默认的/data/kefu目录里活动2、创建账号(Server)–用于其他人登录ftp服务
# useradd wu
# echo 123 |passwd --stdin wu3、不允许匿名用户访问
# vim /etc/vsftpd/vsftpd.conf
12行 anonymous_enableNOlistenYES 改成yes 115
listen_ipv6YES 删掉 124
配置修改完毕后一定要重启vsftpd服务
# systemctl restart vsftpd4、指定账号访问的目录
# mkdir /data/wu -p
# vim /etc/vsftpd/vsftpd.conf
17行 local_root/data/kefu5、限定kefu/123只能在/data/kefu目录下活动
禁锢kefu用户只能在/data/kefu目录下
# vim /etc/vsftp/vsftpd.conf
18行 chroot_local_userYES配置修改完毕后一定要重启vsftpd服务
# systemctl restart vsftpd完整配置
anonymous_enableNO #禁止匿名用户访问
local_enableYES
write_enableYES
local_root/data/wu #指定账号访问的目录
chroot_local_userYES #限定wu/123只能在/data/wu目录下活动
allow_writeable_chrootYES #版本问题不添加会报错
local_umask022
dirmessage_enableYES #启用消息功能
xferlog_enableYES #开启或启用xferlog日志
connect_from_port_20YES #支持主动模式默认被动模式
xferlog_std_formatYES
listenYES #ftp服务独立模式下的监听pam_service_namevsftpd
userlist_enableYES
userlist_denyNO #开启白名单黑名单
tcp_wrappersYES
四、经验值
1、500 OOPS 以上问题主要出现在FTP2.3.5以后的版本中当然你可以使用
# rpm -qi vsftpd 查看版本信息解决方案
① 去除写权限治标不治本
# chmod a-w /home/dhj② 核心解决方案添加一个选项
# vim /etc/vsftpd/vsftpd.conf
19行 allow_writeable_chrootYES② 核心解决方案禁用一个选项
#listen_ipv6YES2、无法上传
之所以无法上传主要原因在于kefu这个账号对于/data/kefu文件夹没有w写权限
# setfacl -R -m u:kefu:rwx /data/kefu
# systemctl restart vsftpd3、禁锢目录补充
18行 chroot_local_userYES 禁锢所有用户需求我们能不能给一小部分用户开通非禁锢权限。
# vim /etc/vsftpd/vsftpd.conf
105行 chroot_list_enableYES 开启用户列表文件
107行 chroot_list_file/etc/vsftpd/chroot_list 指定用户列表文件echo wu /etc/vsftpd/chroot_list 代表客服这个账号不会被禁锢在指定目录# systemctl restart vsftpdFTP、NFS以及SAMBA服务
三、FTP服务工具
1、Linux下ftp客户端管理工具
ftp、lftp都是Linux下ftp的客户端管理工具但是需要独立安装
# yum install ftp lftp -y☆ ftp工具
# ftp 192.168.1.12
Connected to 192.168.1.12 (192.168.1.12).
220 (vsFTPd 3.0.2)
Name (192.168.1.12:root): 输入FTP的账号331 Please specify the password.
Password: 输入FTP账号对应的密码230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp求帮助
ftp ?或help
Commands may be abbreviated. Commands are:! debug mdir sendport site
$ dir mget put size
account disconnect mkdir pwd status
append exit mls quit struct
ascii form mode quote system
bell get modtime recv sunique
binary glob mput reget tenex
bye hash newer rstatus tick
case help nmap rhelp trace
cd idle nlist rename type
cdup image ntrans reset user
chmod lcd open restart umask
close ls prompt rmdir verbose
cr macdef passive runique ?
delete mdelete proxy send第一个命令ls命令
ftp ls查看当前连接的FTP目录下有哪些文件。
第三个命令help命令
ftp help put
put send one file第四个命令put与get命令
ftp put 本地文件路径名称 上传
ftp get 远程文件路径名称 下载第五个命令批量上传或下载多个文件
ftp mput 文件名称1 文件名称2 文件名称3 ...
ftp mget 文件名称1 文件名称2 文件名称3 ...第六个命令quit命令
ftp quit☆ lftp工具批量操作
# lftp 用户名称远程IP地址
Password:用户名称对应的密码求帮助help
lftp help针对某个命令求帮助help 命令
lftp help mirror案例批量上传把shop文件夹上传到FTP服务器端
lftp mirror -R 本地文件夹名称案例批量下载把整个FTP下载到本地
lftp mirror 远程FTP路径2、FTP知识点补充
☆ FTP访问对象控制黑名单
ftpusers 黑名单
user_list 默认是黑名单可以成为白名单
案例默认情况下root账号是否允许登录FTP服务器
[rootlocalhost ftp]# ftp 192.168.1.12
220 (vsFTPd 3.0.2)
Name (192.168.1.12:root): root
530 Permission denied.
Login failed.
ftp
原因root用户在黑名单里/etc/vsftpd/ftpusers黑名单中案例user_list可以从黑名单变成白名单允许某个用户登录FTP系统服务器
user_list要成为白名单需要再配置文件里增加
userlist_denyNO
注意如果user_list是白名单那么必须在该文件里的用户才可以访问ftp服务。总结
用户在ftpusers文件中那么用户不能访问ftp服务器用户在user_list文件中如果该文件是白名单那么只在该文件中的用户可以访问ftp服务如果user_list文件是白名单用户即在ftpusers中又在user_list中那么ftpusers拒绝优先
☆ FTP网络访问控制限IP限速
FTP必须支持tcp_wrappers
/etc/hosts.allow 允许
/etc/hosts.deny 拒绝 ☆ 限制IP地址
案例如何禁止某个IP或IP网段
# vim /etc/hosts.deny
服务程序:主机
vsftpd:all 全部拒绝
vsftpd:all EXCEPT 192.168.0.2 拒绝所有除了192.168.0.2
vsftpd:192.168.0.254 拒绝单个IP地址vsftpd:192.168.0.254:allow
//以上是允许192.168.0.254访问类似/etc/hosts.allow里增加vsftpd:192.168.0.254vsftpd:192.168.0.0/255.255.255.0 拒绝某个网段
vsftpd:192.168.0.0/255.255.255.0 EXCEPT 192.168.0.254 拒绝某个网段但是除了某个ip地址
注意子网掩码不支持192.168.0.0/24这种写法vim /etc/hosts.deny
vsftpd,sshd:10.1.1.1案例如何判断某个服务是否支持tcp_wrappers
1./configure –enable-libwrap 表示支持tcp_wrappers访问控制源码安装看配置项
2rpm安装(也包括yum安装)
# ldd命令 二进制程序查询某个软件包含哪些模块案例查询vsftpd与sshd是否支持tcp_wrappers
# ldd /usr/sbin/vsftpd |grep libwrap*libwrap.so.0 /lib64/libwrap.so.0 (0x00007f2956480000)# ldd /usr/sbin/sshd |grep libwrap*libwrap.so.0 /lib64/libwrap.so.0 (0x00007f015ff29000)☆ 限制FTP流量
# vim /etc/vsftpd/vsftpd.conf
local_max_rate0
0代表不限速local_max_rate数值 字节
local_max_rate1024K四、完整的ftp服务配置步骤–非脚本
登录用户 wu,zs,lisi,密码123
一、搭建ftp服务--创建指定用户在指定目录
1.关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vim /etc/selinux/config
SELINUXdisabled2.配置yum源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
# yum makecache3.服务器安装vsftpd软件
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
# yum install vsftpd -y
# systemctl start vsftpd
# systemctl enable vsftpd4.配置
# grep -v ^# /etc/vsftpd/vsftpd.confvsftpd.conf.1
# vim vsftpd.conf.1
修改内容
anonymous_enableNO #禁止匿名用户访问
local_enableYES
write_enableYES
local_root/data/wu #指定账号访问的目录
chroot_local_userYES #限定wu/123只能在/data/wu目录下活动
allow_writeable_chrootYES #版本问题不添加会报错
local_umask022
dirmessage_enableYES #启用消息功能
xferlog_enableYES #开启或启用xferlog日志
connect_from_port_20YES #支持主动模式默认被动模式
xferlog_std_formatYES
listenYES #ftp服务独立模式下的监听pam_service_namevsftpd
userlist_enableYES
userlist_denyNO #开启白名单黑名单
tcp_wrappersYES排错指南
重启vsftpd服务时报错
#systemctl status vsftpd 下面是failed ,
这里检查两个一个是配置文件vsftpd.conf 一个是进程21
losf -i:21 直接kill
配置文件检查里面是否有写错的地方如果没有明显错误就检查有没有空格每行的后面也要检查#cat vsftpd.conf.1 /etc/vsftpd/vsftpd.conf
5.创建可登录用户和创建家目录--测试
# useradd wu
# useradd zs
# useradd lisi
# echo 123 |passwd --stdin wu
# echo 123 |passwd --stdin zs
# echo 123 |passwd --stdin lisi
# mkdir /data/wu -p
如果无法上传# setfacl -R -m u:wu:rwx /data/wu 6.重启服务
# systemctl restart vsftpd
7.特殊权限用户
# vim /etc/vsftpd/vsftpd.conf
105行 chroot_list_enableYES 开启用户列表文件
107行 chroot_list_file/etc/vsftpd/chroot_list 指定用户列表文件
echo wu /etc/vsftpd/chroot_list 代表wu这个账号不会被禁锢在指定目录
# systemctl restart vsftpd
二、windows链接和linux链接上传下载文件
windows
浏览器、文件管理器
ftp://192.168.8.137
要可以上网的地址
linux
1.下载ftp以及lftp
yum install ftp lftp -y
ftp 192.168.8.137
三、ftp客户端管理工具
1.ftp
单个文件
上传: put 文件名
下载: get 文件名
多个文件
上传多个文件(支持通配符)mput 文件名1 文件名2
下载多个文件(支持通配符)mget 文件名1 文件名2
整个目录
上传文件夹mirror -R 文件夹名
下载文件夹mirror 下载文件夹存放到本地目录的位置
2.lftp工具批量操作
针对某个命令求帮助help 命令
1、登录ftp
lftp用户名:密码ftp地址传送端口(默认为21)
lftp wu:123192.168.8.137回车
2、下载文件
下载文件前首先要设置还本地的目录用来存放下载的文件
lcd /home/ivy/doc ##设置本地存放目录get filename (如1.txtppt pdf)
//下载单个文件mget *.txt
//下载一组文件,也即是批量下载所有的txt文件
get -c 1.txt //断点续传下载
mget -c *.txt //断点续传
pget -c n 10 file.dat //最多10个线程以允许断点续传的方式下载file.dat
mget -d dirname/(通配符*) //下载目录
mirror dirname //将目录的整个下载下来子目录也会自动复制到本地自动建立目录3、 上传文件put 1.txt
mput *.txt
mirror -R miao //上传整个目录
mput -d dirname/* #上传目录
基本使用方法
1)、下载服务器端文件
# mirror –vn RCD LCD //RCD为远程路径LCD为本地路径
2)、上传文件
# mirror –R LCD RCD4.从远程主机上下载目录文件通过sftp下载目录
lftp sftp://userhost -p port lftp : mirror my_path四、黑名单白名单网络限速禁止ip网段
1.ip
# vim /etc/hosts.deny
服务程序:主机
vsftpd:all 全部拒绝
vsftpd:all EXCEPT 192.168.0.2 拒绝所有除了192.168.0.2
vsftpd:192.168.0.254 拒绝单个IP地址
vsftpd:192.168.0.254:allow
//以上是允许192.168.0.254访问类似/etc/hosts.allow里增加vsftpd:192.168.0.254
vsftpd:192.168.0.0/255.255.255.0 拒绝某个网段
vsftpd:192.168.0.0/255.255.255.0 EXCEPT 192.168.0.254 拒绝某个网段但是除了某个ip地址
注意子网掩码不支持192.168.0.0/24这种写法
vim /etc/hosts.deny
vsftpd,sshd:10.1.1.1
2.黑名单白名单
ftpusers 黑名单
user_list 默认是黑名单可以成为白名单
user_list要成为白名单需要再配置文件里增加
userlist_denyNO
注意如果user_list是白名单那么必须在该文件里的用户才可以访问ftp服务。
3.限制流量
# vim /etc/vsftpd/vsftpd.conf
local_max_rate0
0代表不限速local_max_rate数值 字节
local_max_rate1024K五、练习 1. 安装vsftpd
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
# yum install vsftpd -y
# systemctl start vsftpd
# systemctl enable vsftpd2. 创建账号zs和lisi
# useradd zs
# useradd lisi
# echo 123 |passwd --stdin zs
# echo 123 |passwd --stdin lisi
3. zs可以登陆ftplisi不可以
这里在/etc/vsftpd/vsftpd.conf中添加
userlist_denyNO
配置中添加
allow_writeable_chrootYES --版本超过FTP2.3.5会报错所以添加这段
将zs添加到白名单 user_list文件中
# echo zs user_list
# systemctl restart vsftpd
4. zs可以下载和上传文件
给zs用户写的权限
# setfacl -R -m u:zs:rwx /data/kefu
# systemctl restart vsftpd
5. lisi可以下载但不能上传
将lisi添加到白名单即可
# echo lisi user_list
# systemctl restart vsftpd
6. 给所有用户限速 为1M
在配置中添加
# vim /etc/vsftpd/vsftpd.conf
# systemctl restart vsftpd
local_max_rate1024K
7. 不允许从192.168.1.11上进行登陆其他ip都可以
# vim /etc/hosts.deny
在配置下面添加
vsftpd:192.168.1.11
# systemctl restart vsftpd
8. 设置root可以登陆ftp
将root从黑名单中删除
# vim /etc/vsftpd/ftpusers
删除root
# systemctl restart vsftpd
9.禁锢所有用户在/data/kefu目录之下
在配置中添加
local_root/data/kefu
chroot_local_userYES
# systemctl restart vsftpd