常用软件安装
服务器版本为Centos7.8 x86_64
1.yum下载提速
1.wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2. yum clean all
3.yum makecache
2.jdk
yum install java-1.8.0-openjdk* -y
# yum update 时自动更新jdk版本
1.yum -y install yum-versionlock(如果versionlock命令不存在的话)
2.yum versionlock java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64
3.yum versionlock list | grep java-1.8.0-openjdk(检查是否成功)
4.如果想更新jdk版本
yum versionlock delete java-1.8.0-openjdk
3.redis
1.下载第三方扩展源rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
如果wget不存在 yum -y install wget
2.安装remi.repo
rpm -ivh remi-release-7.rpm
如果报错后面加 --nodeps --force
3.查看可安装的reids版本
yum --enablerepo=remi --showduplicates list redis
4.安装指定版本
yum --enablerepo=remi install -y redis-6.0.19
5.默认配置文件
默认配置文件在etc/redis.conf
可以更换到/etc/redis/redis.conf
然后修改/usr/lib/systemd/system/redis.service 指定配置文件位置
6.启动
然后 systemctl start redis 即可启动redis
测试连接:redis-cli
日志文件路径:logfile /var/log/redis/redis.log
数据文件路径:dir /var/lib/redis
7.配置外部连接:
修改配置文件
protected-mode no #外部访问
注释掉 bind 127.0.0.1
daemonize yes #后台启动 必须设置
4.nginx
1.下载源
采用redis下载源即可
2.查看可安装版本
yum --enablerepo=remi --showduplicates list nginx
3.安装指定版本
yum install -y nginx-1.20.1
4.启动
systemctl start nginx
访问测试 服务器ip 可看到nginx欢迎页
5.配置文件路径
/etc/nginx
6.日志文件路径
/var/log/nginx/
7.错误处理
代理出错 nginx error日志中 upstream后面的路径可以访问 但还是访问失败时
vim /etc/selinux/config
将SELINUX=enforcing改为
SELINUX=disabled
快速:sed -i ‘s/enforcing/disabled/’ /etc/selinux/config
5.python3
1.yum search python3
2.yum install python36
6.runlike
作用是查看容器启动命令
1.安装python3
2.pip install runlike
3.runlike -p +容器id或name
7.MySQL5.7
1.下载mysql的yum源配置
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.安装yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
3.安装
yum -y install mysql-server --nogpgcheck
--nogpgcheck (不校验数字签名)
4.启动
systemctl start mysqld.service
5.查看初始密码
cat /var/log/mysqld.log|grep password
6.登录
mysql -uroot -p
7.修改root密码
ALTER USER USER() IDENTIFIED BY ‘Lzp624753336!’;
8.重新登录修改root表权限和远程连接权限
grant all privileges on *.* to 'root'@'localhost' identified by 'Lzp624753336!' with grant option;
FLUSH PRIVILEGES;
这样是本地所有表的权限
如果想远程连接 @后面是%
这样就完成了mysql安装及root用户的初始化
8.MySQL8.0
1.下载mysql的yum源配置
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.安装yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
3.查询mysql源
yum repolist all | grep mysql
4.启用mysql8
yum-config-manager --disable mysql57-community #禁用mysql的5.x系列
yum-config-manager --enable mysql80-community #启用mysql的8.x系列
5.安装
yum -y install mysql-server --nogpgcheck
6.启动
systemctl start mysqld.service
7.抓取日志文件中mysql临时密码
grep 'temporary password' /var/log/mysqld.log
8.登录修改密码
登陆不了的话修改etc/my.cnf
在 [mysqld] 下添加该语句:skip-grant-tables 忽略mysql权限问题,直接登录
然后重启mysql
再次登录 mysql -uroot -p 直接回车 不需要密码
use mysql;
1.select host, user, authentication_string, plugin from user; # 查看一下是否可以执行成功
2.update user set host=‘%’,plugin=‘mysql_native_password’,authentication_string=’‘ where user=‘root’;
然后把配置文件的修改注释掉 再次重启mysql
然后 mysql -uroot -p 还是直接回车
ALTER user’root’@‘%’ IDENTIFIED BY ‘你要设置的密码’; 这样就可以本地和远程登录了
如果只想本地登录 @后面是localhost
9.报错提示:
ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
说明root用户没有SYSTEM_USER权限
grant system_user on . to ‘root’;
flush privileges;
然后再操作就可以
10.MySQL常用命令
1.查询空闲等待时间 单位s
SHOW GLOBAL VARIABLES LIKE '%timeout%';
wait_timeout:非交互式的连接空闲等待时间(jdbc)
interactive_timeout:交互式的连接空闲等待时间(sqlyog)
interactive_timeout会影响wait_timeout,所以这两个值最好设置成一样的
SET GLOBAL wait_timeout=180;
SET GLOBAL interactive_timeout=180; (代码中配置比这个值小30s spring.datasource.hikari.max-lifetime=150000)
2.查询最大连接数
#默认值151 可以设置成200(代码中配置相同值)
SHOW VARIABLES LIKE “max_connections”;
SET GLOBAL max_connections=200;
3.查询当前所有的连接
和用户权限有关系,如果权限不足 只能看到自己账户的连接数
SHOW FULL PROCESSLIST;
不受权限限制 显示所有链接数
SHOW STATUS LIKE ‘Threads_connected’;
4.断开某个指定连接
KILL +id
5.创建用户
mysql库的user表
mysql8
# mysql8远程连接用户
CREATE USER test8@'%' IDENTIFIED BY 'Lzp624753336!'; #创建用户
GRANT ALL PRIVILEGES ON test01.* TO test8@'%' WITH GRANT OPTION;#赋予test01表的权限
FLUSH PRIVILEGES;
# mysql8创建本地连接用户
CREATE USER test9@'localhost' IDENTIFIED BY 'Lzp624753336!'; #创建用户
GRANT ALL PRIVILEGES ON test01.* TO test9@'localhost' WITH GRANT OPTION;#赋予test01表的权限
FLUSH PRIVILEGES;
# 注:with grant option 代表该用户可以将自己有的权限给别人连接权限变更 例如远程访问的用户想改为本地访问权限
#1.本地连接改为远程连接的权限
use mysql
update user set host='%' where user='test9';
FLUSH PRIVILEGES;
#2.远程连接改为本地连接的权限
update user set host='localhost' where user='test8';
USH PRIVILEGES;
● 权限从本地变到远程 远程看不到本地权限时的表,需要单独授权远程访问的表。反之则不会
test9用户权限由本地变为远程 原表权限需要重新授权远程
GRANT ALL PRIVILEGES ON test01.* TO test9@'%' WITH GRANT OPTION;
报错提示
ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
说明root用户没有SYSTEM_USER权限
grant system_user on *.* to 'root';
flush privileges;
然后再操作就可以
mysql5.7
test8用户远程权限
GRANT ALL PRIVILEGES ON lzp.* TO 'test8'@'%' IDENTIFIED BY 'Lzp624753336!' WITH GRANT OPTION;
test9用户本地权限
GRANT ALL PRIVILEGES ON lzp.* TO 'test9'@'localhost' IDENTIFIED BY 'Lzp624753336!' WITH GRANT OPTION;test9用户 本地权限变成远程权限
GRANT ALL PRIVILEGES ON lzp.* TO 'test9'@'%' IDENTIFIED BY 'Lzp624753336!' WITH GRANT OPTION;
flush privileges;
收回权限
REVOKE ALL PRIVILEGES ON lzp.* FROM test9;
查询用户数据库权限
SHOW GRANTS FOR username;
6.登录mysql
mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句"
mysql -uroot -p -hlocalhost -P3306 mysql -e “select host,user from user”
7.备份数据库
不需要进入数据库,最后不要加分号
附加建库语句
mysqldump -uroot -proot --databases db1 >/tmp/user.sql
不附加建库语句
mysqldump -uroot -proot db1 >/tmp/user.sql
8.恢复数据库
sql文件中有建库语句,不需要指定数据库名称
mysql -uroot -p <ruoyi_vue_pro.sql
sql文件中没有建库语句,需要指定数据库
mysql -uroot -p ruoyi_vue_pro<ruoyi_vue_pro.sql
9.数据文件
mysql5.6之后就为每个表单独指定一个文件夹,不再存到系统表空间下
数据文件存储在 /var/lib/mysql/下,
mysql8:
每个库一个文件夹,每个表一个ibd文件,ibd文件存储表结构 数据 索引等。
mysql5.7:
每个库一个文件夹,每个表一个ibd文件存储数据,每个表一个frm文件存储表结构,
每个表一个opt文件(5.7及之前版本),这个文件中包含了该数据库的各种数据,比如该数据库的字符集和比较规则。
mysql8查看表结构
进到表文件夹下 var/lib/mysql/表名
然后执行
ibd2sdi --dump-file=test01.txt llzzpp.ibd
这样就会生成一个test01.txt文件,可以查看llzzpp表的表结构和索引。
10.开启日志
etc/my.cnf mysqld下
日志时间和系统同步:
log_timestamps=SYSTEM
1.慢查询日志
永久
slow_query_log = ON
slow_query_log_file = /var/lib/mysql/slow-queries.log #日志名称及路径
long_query_time = 5 #五秒以上为慢查询
log_output = FILE
log_queries_not_using_indexes = 1 # 记录未使用索引的查询语句到慢查询日志
临时
SET GLOBAL slow_query_log = ‘ON’;
SET GLOBAL slow_query_log_file = ‘/path/to/slow-query.log’;
SET GLOBAL long_query_time = 3;
SET GLOBAL log_queries_not_using_indexes = ‘ON’;
2.通用日志
永久
记录所有连接的起始时间和终止时间,以及连接发送给数据库服务器的所有指令
general_log = ON
general_log_file=/var/lib/mysql/general.log #日志文件所在目录路径,filename为日志文件名
临时
临时方式:
SET GLOBAL general_log=on; # 开启通用查询日志
SET GLOBAL general_log_file=‘path/filename’; # 设置日志文件保存位置
SET GLOBAL general_log=off; # 关闭通用查询日志
11.安装supervisor
管理linux应用程序
使用redis的安装源即可
1.安装
yum install -y supervisor
2.查看
systemctl status supervisord
3.开机自启
systemctl enable supervisord
查看开机自启是否生效
systemctl is-enabled supervisord.service
4.开始服务
systemctl start supervisord
5.配置文件
6.添加项目配置文件
7.项目配置文件内容
可以配置多个program
注意这里stdout_logfile配置的日志文件不影响项目的日志文件,可以单独指定路径
[program:lzp-server]
environment=JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64/bin"
directory = /lzp/java_project/
command = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.el7_9.x86_64/bin/java -Xms64m -Xmx128m -jar /lzp/java_project/springbootnew.jar
autostart = true
startsecs = 30
autorestart = true
startretries = 10
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /lzp/java_project/log/bootnew.out
8.配置完加载新配置 启动java服务
supervisorctl update
配置完一个新的配置文件,通过此命令加载
9.查看项目启动状态
supervisorctl status
10.其他指令
supervisorctl update lzp-server #改完某个配置文件 重启某个服务
supervisorctl start lzp-server #配置完一个新的配置文件 update后 通过此命令启动应用
supervisorctl stop lzp-server #停止
supervisorctl restart lzp-server #重启
11.重新启动配置中的所有服务
supervisorctl reload
12.配置web访问
/etc/supervisord.conf
配置完执行
supervisorctl reload
访问192.168.56.10:9002 输入账号密码即可
13.日志
项目默认日志文件路径:/tmp/项目名.log
14.配置文件示例
[program:jeepay-manager]
environment=JAVA_HOME="/etc/alternatives/java_sdk_1.8.0/bin"
directory = /mnt/data/ai-application
command = /etc/alternatives/java_sdk_1.8.0/bin/java -Xms256m -Xmx2048m -jar /mnt/data/ai-application/jeepay-manager.jar
autostart = true
startsecs = 30
autorestart = true
startretries = 5
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /mnt/data/logs/jeepay/jeepay-manager.out[program:jeepay-merchant]
environment=JAVA_HOME="/etc/alternatives/java_sdk_1.8.0/bin"
directory = /mnt/data/ai-application
command = /etc/alternatives/java_sdk_1.8.0/bin/java -Xms256m -Xmx2048m -jar /mnt/data/ai-application/jeepay-merchant.jar
autostart = true
startsecs = 30
autorestart = true
startretries = 5
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /mnt/data/logs/jeepay/jeepay-merchant.out[program:jeepay-payment]
environment=JAVA_HOME="/etc/alternatives/java_sdk_1.8.0/bin"
directory = /mnt/data/ai-application
command = /etc/alternatives/java_sdk_1.8.0/bin/java -Xms256m -Xmx2048m -jar /mnt/data/ai-application/jeepay-payment.jar
autostart = true
startsecs = 30
autorestart = true
startretries = 5
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /mnt/data/logs/jeepay/jeepay-payment.out
相关文章:

常用软件安装
服务器版本为Centos7.8 x86_64 1.yum下载提速 1.wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 2. yum clean all 3.yum makecache2.jdk yum install java-1.8.0-openjdk* -y # yum update 时自动更新jdk版本 1.yum -y install …...

翻译: GPT-4 Vision静态图表转换为动态数据可视化 升级Streamlit 三
GPT-4 Vision 系列: 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二 1. 将任何静态图表转换为动态数据可视化 ChatGPT Vision 不仅可以将涂鸦变成功能齐全的 Streamlit 应用程序,还…...

Qt QPlainTextEdit高亮显示当前行
Qt QPlainTextEdit高亮显示当前行 文章目录 Qt QPlainTextEdit高亮显示当前行摘要错误的代码正确的代码QTextEdit::ExtraSelection 关键字: Qt、 QPlainTextEdit、 QTextBlock、 ExtraSelection、 GPT 摘要 今天要在说一下GPT,当下如果你还不会用G…...

Linux编辑器vim(含vim的配置)
文章目录 前言vim的基本概念vim基本操作进入vim模式切换退出vim vim指令vim命令模式指令vim底行模式命令 简单vim配置 前言 本篇文章,小编将介绍Linux编辑器–>vim以及vim的配置。 vim的基本概念 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动…...

Oracle DG环境下的秘钥管理
今天有朋友问到1)DG环境下的秘钥管理需要注意什么,2)秘钥管理对DG的日志同步有影响吗? 对于2)的回答是明确的,没有影响。秘钥的管理和DG的redo log shipping完全是两套机制。在最新版的Oracle Key Vault常…...

【Sql Server】新手一分钟看懂在已有表基础上增加字段和说明
欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…...

亚信安慧AntDB打造开放创新的数据库生态
在当今信息化快速发展的时代背景下,亚信安慧AntDB作为一种新兴的DBMS,以其核心优势引起了行业内的广泛关注。它基于具有广泛全球影响力和繁荣社区支持的PostgreSQL(PG)内核,继承了PG的开放性与生态活力,同时在性能和稳定性方面进行…...

在Mixamo网站上,下载的动画导入unity给自己的模型添加后出错怎么解决
在Mixamo网站上,下载的动画导入unity给自己的模型添加后出错 一、在Mixamo下载的模型可以正常使用二、在自己的模型和unity自带模型上就出错1.解决方法2.解决成功 注意 一、在Mixamo下载的模型可以正常使用 二、在自己的模型和unity自带模型上就出错 1.解决方法 选…...

java servlet运输公司管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 java Web运输公司管理系统是一套完善的java web信息管理系统 serlvetdaobean mvc 模式开发 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主 要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5…...

React中antd的使用技巧
1.antd的基本使用: (1).yarn add antd(2).引入样式:import antd/dist/antd.css;(3).根据文档引入组件2.antd按需引入样式 (1).yarn add react-app-rewired customize-cra babel-plugin-import(2).修改package.json,内容如下:.....…...

2024年第一篇博客
这是2024年的第一篇博客,2023年笔者经历了一连串的生活、工作、学习上的转折和调整,跌跌撞撞时光飞逝,转眼间就踏着元旦的钟声步入了2024年,前思后想、辗转反侧、犹豫再三不知道从哪里开始博客新的篇章,这个问题坦诚说…...

Nginx负载均衡下的webshell连接
一、上传AntSword-Labs-master搭建负载均衡实验环境 搭建好docker环境,并且配置好docker-compose 我的Redhat的docker版本: 查看当前环境下的文件是否正确: 接着执行docker compose up -d 拉取环境 访问成功页面: 进入docker容器…...

JAVA编程语言单词汇总
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Ora…...

微信小程序(十七)自定义组件生命周期(根据状态栏自适配)
注释很详细,直接上代码 上一篇 新增内容: 1.获取手机状态栏的高度 2.验证attached可以修改数据 3.动态绑定样式数值 源码: myNav.js Component({lifetimes:{//相当于vue的created,因为无法更新数据被打入冷宫created(){},//相当于vue的mount…...

百度搜索智能精选是什么东西、怎么加入?
百度搜索智能精选是什么? 提问及具体展示如上图,这是白杨SEO一个好友提问的。他是觉得这个入口篇幅这么大,做宣传推广不错,问我是什么,怎么可以加入进去? 其实这就是百度搜索智能精选,只能是P…...

小程序开发平台:全功能小程序商城功能 带完整的安装代码包以及搭建教程
移动互联网的普及和用户对购物体验要求的提高,传统电商网站已经不能满足用户的需求。因此,许多商家开始将目光转向小程序商城,以提供更加便捷、高效的购物体验。然而,由于小程序开发门槛较高,许多商家和开发者对于小程…...

Vue3生命周期 VS Vue2生命周期(小记)
概念:Vue组件实例在创建时要经历一系列的初始化步骤,在此过程中Vue会在合适的时机,调用特定的函数,从而让开发者有机会在特定阶段运行自己的代码,这些特定的函数统称为:生命周期钩子。 规律: 生…...

MYSQL基本查询(CURD:创建、读取、更新、删除)
文章目录 前言一、Create1.全列插入2.指定列插入3.插入否则更新4.替换 二、Retrieve1.SELECT列2.WHERE条件3.结果排序4.筛选分页结果 三、Update四、Delete1.删除数据2.截断表 五、插入查询结果六、聚合函数 前言 操作关系型数据库的编程语言,定义了一套操作关系型…...

头歌C语言指针进阶
目录 第1关:输出若干个学生成绩中的最高分.要求用指针函数实现 任务描述 第2关:采用指针变量表示地址的方法输入输出数组中的个元素 任务描述 相关知识(略) 编程要求 第3关:用指针实现数组循环移动 任务描述 第…...

民安智库-公共健身场所满意度调研
公共健身场所作为市民锻炼身心的热门场所,其满意度情况对于提升市民生活质量具有重要意义。民安智库近期受客户委托对某市进行了一项全面的公共健身场所满意度调查,旨在了解市民的需求与期望,为改善健身环境提供依据。 在本次调研中…...

《HTML 简易速速上手小册》第3章:HTML 的列表与表格(2024 最新版)
文章目录 3.1 创建无序和有序列表(📝🌟👍 信息的时尚搭配师)3.1.1 基础示例:创建一个简单的购物清单3.1.2 案例扩展一:创建一个旅行计划清单3.1.3 案例扩展二:创建一个混合列表 3.2 …...

IBeginDragHandler,IEndDragHandler,IDragHandler拖拽接口
IBeginDragHandler, IEndDragHandler, 和 IDragHandler 是Unity的接口,用于处理拖拽相关的功能。需要引用 UnityEngine.EventSystems。 IBeginDragHandler 这个接口定义了一个方法,该方法在玩家开始拖拽一个对象时被调用。它通常用于初始化拖拽相关的变量…...

面试经典 150 题 ---- 删除排序数组中的重复项
面试经典 150 题 ---- 删除排序数组中的重复项 删除排序数组中的重复项方法一:双指针 删除排序数组中的重复项 方法一:双指针 有是一个原地修改的题目,大概率依旧是双指针。 定义 right 表示遍历数组到达的下标位置,left 指针表…...

深度学习(6)---Transformer
文章目录 一、介绍二、架构2.1 Multi-head Attention2.2 Encoder(编码器)2.3 Decoder(解码器) 三、Encoder和Decoder之间的传递四、Training五、其他介绍5.1 Copy Mechanism5.2 Beam Search 一、介绍 1. Transformer是一个Seq2Seq(Sequence-to-Sequence)…...

day34WEB 攻防-通用漏洞文件上传黑白盒审计逻辑中间件外部引用
目录 一,白盒审计-Finecms-代码常规-处理逻辑 黑盒思路:寻找上传点抓包修改突破获取状态码及地址 审计流程:功能点-代码文件-代码块-抓包调试-验证测试 二,白盒审计-CuppaCms-中间件-.htaccess 三,白盒审计-Metin…...

面试经典 150 题 ---- 移除元素
面试经典 150 题 ---- 移除元素 移除元素方法一:双指针方法二:双指针优化 移除元素 方法一:双指针 题目要求在原数组的基础进行元素的删除,所以输出的数组长度一定小于原数组的长度,因此可以使用双指针,r…...

12.如何将图像转化为矩阵形式
read_image (Image, printer_chip/printer_chip_01) *获取图片大小 get_image_size (Image, Width, Height) *获取区域里各点(每个点)的坐标 *Image 输入参数, *Rows 输出参数 数组, *Columns 输出参数,数组 get_region_points (Image, Rows…...

语义分割(2) :自定义Dataset和Dataloader
文章目录 1. 数据处理1.1 标签转换(json2mask和json2yolo)1.1.1 json2mask1.1.2 json2yolo 1.2 划分数据集1.2 不规范的标签图片处理1.3 批量修改图片后缀 2 自定义Dataset 和 Dataloader2.1 自定义Dataset2.1.1 数据增强(1) 对图像进行缩放并且进行长和宽的扭曲(2) 随机翻转图…...

Android Automotive:在路上释放 Android 操作系统的力量
Android Automotive:在路上释放 Android 操作系统的力量 Android 在汽车行业的历程车载信息娱乐系统 (IVI) 的演变汽车中的 Android:演变和进步Android 汽车操作系统的崛起Polestar 2:开创 Android 汽车体验Android 开源项目 (AOSP) 及其他项…...

从零开始做题:逆向 ret2shellcode orw
1.题目信息 BUUCTF在线评测 下载orw时防病毒要关闭 2.题目分析 orw是open、read、write的简写。有时候binary会通过prctl、seccomp进行沙箱保护,并不能getshell。只能通过orw的方式拿到flag。 fdopen(‘./flag’); # 打开flag文件,得到fd…...