linux系统服务学习(六)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 OOPS
    • 2、无法上传
    • 3、禁锢目录补充
  • 三、FTP服务工具
    • 1、Linux下ftp客户端管理工具
      • ☆ ftp工具
      • ☆ lftp工具:批量操作
    • 2、FTP知识点补充
      • ☆ FTP访问对象控制(黑名单)
      • ☆ FTP网络访问控制(限IP+限速)
        • ☆ 限制IP地址
        • ☆ 限制FTP流量
    • 四、完整的ftp服务配置步骤--非脚本
    • 五、练习


FTP、NFS、SAMBA系统服务

一、FTP服务概述

1、FTP服务介绍

FTP(File Transfer Protocol)是一种应用非常广泛并且古老的一个互联网文件传输协议。

文件传输:文件上传与文件下载

在这里插入图片描述

  • 主要用于互联网中文件的双向传输(上传/下载)、文件共享
  • 跨平台 Linux、Windows
  • FTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输
  • FTP的默认端口 21号(命令端口) 20号(数据端口,主动模式下) 默认被动模式
  • FTP程序(软件)vsftpd

FTP软件名称 => vsftpd => vs(very secure ftp daemon)

2、FTP服务的客户端工具

  • Linux:ftp、lftp(客户端程序)
  • Windows:FlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefox
  • lftp和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
SELINUX=disabled

第二步:配置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是一个功能强大的下载工具,它支持访问文件的协议:ftp,sftp, ftps, http, hftp, fish.(其中ftps和https需要在编译的时候包含openss库)。lftp的界面和shell很像:有命令补全功能,历史记录,允许多个后台任务执行等功能,使用起来比较疯便。而且它还具有书签,排队,镜像,断点续传,多进程下载等功能。

1、登录ftp
//命令格式:
lftp用户名:密码@ftp地址:传送端口(默认为21)

用法
(1)lftp username:password@127.0.0.0 回车
(2)lftp username@127.0.0.0 回车 #默认端口为21 ,回车后输入密码
(3)lftp 127.0.0.0 回车  ##回车后 login [] 登录
(4)lftp 回车 -->open 127.0.0.0-->login 登录
//如果在命令行中输入站点的名称,lftp将直接登录站点
如:ivy@ivy-OptiPlex-380:~$ lftp ftp://androidftp:androidftp@192.168.12.76/
cd 成功, 当前目录=/
lftp androidftp@192.168.12.76:/>
//如果不在命令行输入站点名称,则必须在进入到ftp界面后用open命令打开

2、下载文件
下载文件前首先要设置还本地的目录,用来存放下载的文件
lcd /home/ivy/doc   ##设置本地存放目录get  filename (如1.txt,ppt, 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://user@host -p port         lftp :> mirror my_path

5、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_enable=YES			支持匿名用户访问	
local_enable=YES				支持非匿名用户,普通账号登录,默认进入到自己家目录
write_enable=YES				写总开关
local_umask=022					反掩码  file:644  rw- r-- r-- dir:755
dirmessage_enable=YES			启用消息功能
xferlog_enable=YES				开启或启用xferlog日志
connect_from_port_20=YES		支持主动模式(默认被动模式)
xferlog_std_format=YES			xferlog日志格式
listen=YES					    ftp服务独立模式下的监听

pam_service_name=vsftpd			指定认证文件
userlist_enable=YES				启用用户列表
tcp_wrappers=YES				支持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 wu

3、不允许匿名用户访问

# vim /etc/vsftpd/vsftpd.conf
12行 anonymous_enable=NO

listen=YES	 改成yes    115
listen_ipv6=YES   删掉   124

配置修改完毕后,一定要重启vsftpd服务

# systemctl restart vsftpd

4、指定账号访问的目录

# mkdir /data/wu -p
# vim /etc/vsftpd/vsftpd.conf
17行 local_root=/data/kefu

5、限定kefu/123只能在/data/kefu目录下活动

禁锢kefu用户只能在/data/kefu目录下

# vim /etc/vsftp/vsftpd.conf
18行 chroot_local_user=YES

配置修改完毕后,一定要重启vsftpd服务

# systemctl restart vsftpd
完整配置	
anonymous_enable=NO    #禁止匿名用户访问	
local_enable=YES
write_enable=YES
local_root=/data/wu    #指定账号访问的目录
chroot_local_user=YES   #限定wu/123只能在/data/wu目录下活动
allow_writeable_chroot=YES  #版本问题,不添加会报错
local_umask=022
dirmessage_enable=YES    #启用消息功能
xferlog_enable=YES       #开启或启用xferlog日志
connect_from_port_20=YES   #支持主动模式(默认被动模式)
xferlog_std_format=YES
listen=YES                #ftp服务独立模式下的监听

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO       #开启白名单,黑名单
tcp_wrappers=YES

四、经验值

1、500 OOPS

在这里插入图片描述

以上问题主要出现在FTP2.3.5以后的版本中,当然你可以使用

# rpm -qi vsftpd 查看版本信息

解决方案:

① 去除写权限(治标不治本)

# chmod a-w /home/dhj

② 核心解决方案,添加一个选项

# vim /etc/vsftpd/vsftpd.conf
19行 allow_writeable_chroot=YES

② 核心解决方案,禁用一个选项

#listen_ipv6=YES

2、无法上传

之所以无法上传,主要原因在于kefu这个账号对于/data/kefu文件夹没有w写权限

# setfacl -R -m u:kefu:rwx /data/kefu
# systemctl restart vsftpd

3、禁锢目录补充

18行 chroot_local_user=YES  禁锢所有用户

需求:我们能不能给一小部分用户开通非禁锢权限。

# vim /etc/vsftpd/vsftpd.conf
105行 chroot_list_enable=YES					    开启用户列表文件
107行 chroot_list_file=/etc/vsftpd/chroot_list	指定用户列表文件

echo wu >> /etc/vsftpd/chroot_list        代表客服这个账号不会被禁锢在指定目录

# systemctl restart vsftpd

FTP、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服务器

[root@localhost 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_deny=NO
注意:如果user_list是白名单,那么必须在该文件里的用户才可以访问ftp服务。

总结:

  1. 用户在ftpusers文件中,那么用户不能访问ftp服务器
  2. 用户在user_list文件中,如果该文件是白名单,那么====在该文件中的用户可以访问ftp服务
  3. 如果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.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

案例:如何判断某个服务是否支持tcp_wrappers

1)./configure –enable-libwrap 表示支持tcp_wrappers访问控制(源码安装看配置项)

2)rpm安装(也包括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_rate=0
0代表不限速

local_max_rate=数值 + 字节
local_max_rate=1024K

四、完整的ftp服务配置步骤–非脚本

登录用户 wu,zs,lisi,密码123

一、搭建ftp服务--创建指定用户在指定目录
1.关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled

2.配置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

3.服务器安装vsftpd软件
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
# yum install vsftpd -y
# systemctl start vsftpd
# systemctl enable vsftpd

4.配置
# grep -v ^# /etc/vsftpd/vsftpd.conf>vsftpd.conf.1 
# vim vsftpd.conf.1
修改内容
anonymous_enable=NO    #禁止匿名用户访问	
local_enable=YES
write_enable=YES
local_root=/data/wu    #指定账号访问的目录
chroot_local_user=YES   #限定wu/123只能在/data/wu目录下活动
allow_writeable_chroot=YES  #版本问题,不添加会报错
local_umask=022
dirmessage_enable=YES    #启用消息功能
xferlog_enable=YES       #开启或启用xferlog日志
connect_from_port_20=YES   #支持主动模式(默认被动模式)
xferlog_std_format=YES
listen=YES                #ftp服务独立模式下的监听

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO       #开启白名单,黑名单
tcp_wrappers=YES

排错指南
重启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_enable=YES					    开启用户列表文件
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:123@192.168.8.137回车
2、下载文件
下载文件前首先要设置还本地的目录,用来存放下载的文件
lcd /home/ivy/doc   ##设置本地存放目录get  filename (如1.txt,ppt, 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://user@host -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_deny=NO
注意:如果user_list是白名单,那么必须在该文件里的用户才可以访问ftp服务。
3.限制流量
# vim /etc/vsftpd/vsftpd.conf
local_max_rate=0
0代表不限速

local_max_rate=数值 + 字节
local_max_rate=1024K

五、练习


1. 安装vsftpd 
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel 
# yum install vsftpd -y
# systemctl start vsftpd
# systemctl enable vsftpd

2. 创建账号zs和lisi 
# useradd zs
# useradd lisi
# echo 123 |passwd --stdin zs
# echo 123 |passwd --stdin lisi 
3. zs可以登陆ftp,lisi不可以 
这里在/etc/vsftpd/vsftpd.conf中添加
userlist_deny=NO
配置中添加
allow_writeable_chroot=YES --版本超过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_rate=1024K
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_user=YES
# systemctl restart vsftpd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/81161.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实验一 VMware 17 虚拟机下安装Ubuntu16.04

系列文章目录 文章目录 系列文章目录前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 古人云:“工欲善其事,必先利其器。” 我们在学习分布式数据库原理知识同时少不了实操,在做实验之前,把相关实验…

AI 绘画Stable Diffusion 研究(十二)SD数字人制作工具SadTlaker插件安装教程

免责声明: 本案例所用安装包免费提供,无任何盈利目的。 大家好,我是风雨无阻。 想必大家经常看到,无论是在产品营销还是品牌推广时,很多人经常以数字人的方式来为自己创造财富。而市面上的数字人收费都比较昂贵,少则几…

解决多模块内核心模块有接口打包成jar后被依赖并调用遇到的问题(springcloud集成ruoyi.quartz)

项目准备开发个新功能,刚好很喜欢ruoyi写的任务调度,因此想到了集成ruoyi.quartz模块 ,遇到了很多问题: 首先因为ruoyi.quartz模块依赖了ruoyi.common模块,因此第一步我需要把common模块一部分依赖项复制到了quartz模块内&#xf…

Python 的下一代 HTTP 客户端

迷途小书童 读完需要 9分钟 速读仅需 3 分钟 1 环境 windows 10 64bitpython 3.8httpx 0.23.0 2 简介 之前我们介绍过使用 requests ( https://xugaoxiang.com/2020/11/28/python-module-requests/ ) 来进行 http 操作,本篇介绍另一个功能非常类似的第三方库 httpx&…

pointnet C++推理部署--tensorrt框架

classification 如上图所示,由于直接export出的onnx文件有两个输出节点,不方便处理,所以编写脚本删除不需要的输出节点193: import onnxonnx_model onnx.load("cls.onnx") graph onnx_model.graphinputs graph.inpu…

时序预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆神经网络时间序列预测预测效果基本介绍模型描述程序设计学习总结参考资料 预测效果 基本介绍 时序预测 | MATLAB实现WOA-…

VBA技术资料MF45:VBA_在Excel中自定义行高

【分享成果,随喜正能量】可以不光芒万丈,但不要停止发光。有的人陷入困境,不是被人所困,而是自己束缚自己,这时"解铃还须系铃人",如果自己无法放下,如何能脱困? 。 我给V…

03_缓存双写一致性

03——缓存双写一致性 一、缓存双写一致性 如果redis中有数据,需要和数据库中的值相同如果redis中无数据,数据库中的值要是最新值,且准备回写redis 缓存按照操作来分,可以分为两种: 只读缓存 读写缓存 同步直写操作…

解决:(error) ERR unknown command shutdow,with args beginning with

目录 一、遇到问题 二、出现问题的原因 三、解决办法 一、遇到问题 要解决连接redis闪退的问题,按照许多的方式去进行都没有成功,在尝试使用了以下的命名去尝试时候,发现了这个问题。 二、出现问题的原因 这是一个粗心大意导致的错误&am…

Azure静态网站托管

什么是静态网站托管 Azure Blob的静态网站托管是一项功能,它允许开发人员在Azure Blob存储中托管和发布静态网站。通过这个功能,您可以轻松地将静态网页、图像、视频和其他网站资源存储在Azure Blob中,并直接通过提供的URL访问这些资源。 官…

什么是变量提升(hoisting)?它在JavaScript中是如何工作的?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 变量提升(Hoisting)⭐ 变量提升的示例:⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…

Android 场景Scene的使用

Scene 翻译过来是场景,开发者提供起始布局和结束布局,就可以实现布局之间的过渡动画。 具体可参考 使用过渡为布局变化添加动画效果 大白话,在 Activity 的各个页面之间切换,会带有过渡动画。 打个比方,使用起来类似…

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图&#xf…

保险龙头科技进化论:太保的六年

如果从2013年中国首家互联网保险公司——众安在线的成立算起,保险科技在我国的发展已走进第十个年头。十年以来,在政策指引、技术发展和金融机构数字化转型的大背景下,科技赋能保险业高质量发展转型已成为行业共识。 大数据、云计算、人工智…

unity 之Transform组件(汇总)

文章目录 理论指导结合例子 理论指导 当在Unity中处理3D场景中的游戏对象时,Transform 组件是至关重要的组件之一。它管理了游戏对象的位置、旋转和缩放,并提供了许多方法来操纵和操作这些属性。以下是关于Transform 组件的详细介绍: 位置&a…

初步认识OSI/TCP/IP一(第三十八课)

1 初始OSI模型 OSI参考模型(Open Systems Interconnection Reference Model)是一个由国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的网络通信协议规范,它将网络通信分为七个不同的层次,每个层次负责不同的功能和任务。 2 网络功能 数据通信、资源共…

网络安全---webshell实践

一、首先环境配置 1.上传文件并解压 2.进入目录下 为了方便解释,我们只用两个节点,启动之后,大家可以看到有 3 个容器(可想像成有 3 台服务器就成)。 二、使用蚁剑去连接 因为两台节点都在相同的位置存在 ant.jsp&…

ansible(1)-- 部署ansible连接被控端

目录 一、部署ansible 1.1 安装 1.2 测试连接 192.168.136.55 ansible 192.168.136.56被控端 一、部署ansible 1.1 安装 zabbix-s只是主机名,不用在意,更好该主机也安装了zabbix,不好更改。 下载阿里云epel源 #安装阿里云的epel源&#…

算法之排序总结

排序算法 最近,一直在学习业务上的知识,对基础没有怎么重视,因此,这篇文章想对于排序算法进行一个大致的总结🤓🤓🤓。 首先来说一下,关于排序一些相关的基础知识。 排序概述 原地…

操作系统的体系结构、内核、虚拟机

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaweb 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 操作系统结构 一、操作系统体系结构1.1操作系统的内核1.1.…