当前位置: 首页 > news >正文

麒麟服务器上执行可执行脚本报错:bash: ./xx: Permission denied(完整版)

前情提要

本来都好好的,我重启了服务器以后就开始报这个错了,而我的麒麟服务器目前是这个情况:

  1. 已经在服务器上配置好了 ssh 免密登录,在命令行里执行 ssh -o StrictHostKeyChecking=no -p 22 username@xxx.xxx.xxx.xxx 可以正常登录
  2. 可执行文件存在于 /tmp 中
  3. 查看可执行文件目录的权限,发现权限是 drwxrwxr-x,而可执行文件的权限是 -rwxr-xr-x,对于 user 本身来说,应该是可以执行的(对于linux文件权限不太了解的可以看文章【Linux】权限 一)

找bug的心路历程

我本来以为是 ssh 的权限问题,网上查到最多的解决方法就是像下面两篇这样:

  • linux scp传输文件权限被拒绝,Linux的远程传输文件scp及出现Permission denied (publickey).lost connection问题解决方法…
  • Ubuntu下scp命令出现permission denied错误的解决

修改/etc/ssh/sshd_config,但是对于我已经配置好免密登录的服务器来说,这一步着实没什么必要,和我遇到的问题基本没有关系

看了半天才发现我的报错原来不是单纯的Permission denied,前面还有一个 bash: Permission denied(没看清楚,汗流浃背了)

又看到了 解决linux的-bash: ./xx: Permission denied 这篇,说是权限问题,但是我的文件夹和文件权限都属于可执行的

看了半天,终于从 /tmp 目录下执行脚本失败提示 Permission denied 这篇里找到了线索:

发现是/tmp文件系统的属性被设置了noexec。noexec表示对应文件系统不允许执行可执行程序,即使文件具有可执行过权限。通常是考虑安全原因会这么设置。

可能是服务器重启后,重新打开了某个安全设置

于是,我顺藤摸瓜,找到了这篇云服务器 ECS Linux 系统 tmp 目录的安全设置,按照文内的验证方法,在 /tmp 目录下随便建了个 test.sh 文件,手动执行 bash test.sh,终于发现了问题:

    [麒麟安全授权认证]检测到未认证程序试图执行,是否允许?程序:test.sh    调用者:bash路径:/tmp/test.sh禁止(N)  允许(Y)  本次允许(O):

输入 Y 后才能正常执行

再搜索,找到了这篇:Linux麒麟系统(V10)rc.local开机不启动,在命令行中执行

getstatus

得到了和博主一样的结果:

KySec status: enabled    // 表示当前为强制模式exec control    : warning    // 表示当前执行控制功能为警告
net control       : off    // 表示当前网络控制功能关闭
file protect    : on    // 表示当前文件保护功能为开启 (只有当相应功能的状态为(on)的时候,其所控制的功能配置才能生效)
kmod protect    : on    // 表示当前内核模块保护功能为开启
three admin    : off    // 表示当前三权分立状态为关
process protect    : off    // 表示当前进程保护功能为开启

参考

KySec有三种安全模式:① 强制模式(Normal):出现违规操作时,不止会审计记录该操作,还会阻止该操作的运行;② 警告模式(Warning):出现违规操作时,会弹出麒麟安全授权认证框进行授权(在上面2023.3.18问题中提到的弹窗);③ 软模式(Softmode):出现违规操作时,只会审计该操作,而不会阻止该操作的运行。

于是,直接执行

sudo setstatus softmode

把它关掉了,此时再执行 getstatus,就会得到

KySec status: enabled(softmode)exec control: off
net control : off
file protect: off
kmod protect: off
three admin : off
process protect: off
device control: off

此时再创建一个 test2.sh,并且执行 bash test2.sh 就没有安全授权认证了,问题搞定~

相关文章:

麒麟服务器上执行可执行脚本报错:bash: ./xx: Permission denied(完整版)

前情提要 本来都好好的,我重启了服务器以后就开始报这个错了,而我的麒麟服务器目前是这个情况: 已经在服务器上配置好了 ssh 免密登录,在命令行里执行 ssh -o StrictHostKeyCheckingno -p 22 usernamexxx.xxx.xxx.xxx 可以正常登…...

触觉美学:移动端UI设计的视觉盛宴

...

前端起dev从110秒减少到7秒, 开发体验大幅提升

[webpack由浅入深]系列的内容 第一层: 了解一个小功能的完整流程. 看完可以满足好奇心和应付原理级别面试.第二层: 源码陪读, webpack源码比较灵活, 自己看容易陷入迷惑. 文章里会贴出关键流程的代码来辅助阅读源码. 如果你正在自己调试, 在这些方法上下断点会节约你宝贵的时间…...

Flink CDC 原理

简介 Flink CDC(Change Data Capture)是 Apache Flink 提供的一个变更数据捕获工具集。它可以监控数据库的变更,并将这些变更实时地以流的形式提供给下游系统,这些变更包括插入、更新和删除操作。 Flink CDC 适用于需要实时数据…...

Axure网上超市用户端APP原型 (O2O生鲜电商/买菜到家/数字零售/京东到家/抖音超市领域)

作品概况 页面数量:共 100 页 源文件格式:rp格式,兼容 Axure RP 9/10,非程序软件无源代码 适用领域:O2O生鲜电商、网上超市、买菜到家、数字零售 作品特色 本作品为网上超市用户消费端Axure交互原型,属于…...

外包公司中能学到技术的都是那些人?

在外包公司能够有效学习并提升技术的人,通常具备以下特点和行为模式: 自我驱动力强:这类人有强烈的学习欲望和提升自我的动机,不依赖公司安排的培训,而是主动寻找学习资源,如在线课程、技术书籍、开源项目等…...

JavaEE初阶-多线程进阶2

文章目录 前言一、CAS1.1 CAS的概念1.2 原子类1.3 CAS的ABA问题 二、JUC中常用类2.1 Callable接口2.2 ReentrantLock(可重入)2.3 Semaphore信号量2.4 CountDownLatch类2.5 CopyOnWriteArrayList类2.6 ConcurrentHashMap 前言 对于多线程进阶的部分&…...

B/S和C/S框架

一、B/S框架 B/S框架是指Browser/Server框架,即基于浏览器和服务器的应用程序开发框架。在B/S架构中,用户通过浏览器(Browser)访问服务器(Server)上的应用程序或网站,而无需在用户端安装额外的客…...

机器学习中常用的几种距离——欧式、余弦等

目录 一、欧式距离(L2距离)二、曼哈顿距离(L1距离)三、汉明距离四、余弦相似度 一、欧式距离(L2距离) (1)二维空间的距离公式(三维空间的在这个基础上类推)&…...

2024 Google I/O Android 相关内容汇总

2024 Google I/O Android 相关内容汇总 本次 Google I/O 的核心虽然是 AI ,但是 Android 也是作为主要议题出现, Android 部分可以简单分为产品和开发相关内容,接下来主要介绍这两部分的相关更新。 重点开始开发相关,内容不少 产…...

# 从浅入深 学习 SpringCloud 微服务架构(十八)

从浅入深 学习 SpringCloud 微服务架构(十八) 一、开源配置中心 Apollo:概述 1、开源配置中心 Apollo Apollo -A reliable configuration management system Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理…...

在SQL Server中使用临时表与普通表的性能差异分析

在SQL Server中,临时表和普通表的性能确实存在差异,具体表现和影响因素如下: 临时表和普通表的区别 存储位置: 临时表:存储在tempdb数据库中,生命周期仅限于当前会话或批处理。当会话结束或批处理完成时&a…...

数据中台管理系统原型

数据中台是一个通用性的基础平台,适用于各类行业场景,数据中台包含多元数据汇聚、数据标准化、数据开发、数据共享、数据智能、数据资产管理等功能,助力企业数字化转型。 数据汇聚 数据汇聚是将不同系统、不同类型的多元源数据汇聚至目标数据…...

数据库练习

在数据库中创建一个表student,用于存储学生信息 CREATE TABLE student( id INT PRIMARY KEY, name VARCHAR(20) NOT NULL, grade FLOAT ); 1、向student表中添加一条新记录(记录中id字段的值为1,name字段的值为"monkey"&#xff0c…...

Rust学习笔记(上)

前言 笔记的内容主要参考与《Rust 程序设计语言》,一些也参考了《通过例子学 Rust》和《Rust语言圣经》。 Rust学习笔记分为上中下,其它两个地址在Rust学习笔记(中)和Rust学习笔记(下)。 编译与运行 Ru…...

【SRC实战】文件名回显导致反射型XSS,URL重定向

挖个洞先 https://mp.weixin.qq.com/s/hnrm-snkETuR-gqPOSnQXQ “ 以下漏洞均为实验靶场,如有雷同,纯属巧合 ” 01 — 漏洞证明 一、反射型XSS “ 文件名回显,能否触发XSS?” 1、灯塔扫到敏感文件,发现1.txt会在…...

mysql高版本导入低版本Unknown collation: utf8mb4_0900_ai_ci

MySQL数据库导入SQL报错 Unknown collation: ‘utf8mb4_0900_ai_ci‘ 错误原因:我本地的MySQL数据包版本为8.0的,而服务器上的MySQL版本为5.7,双方的版本不兼容,这样就导致我在本地写好的SQL无法在服务器上的MySQL上运行。 解决办…...

运筹说 第114期 | 其他排队模型简介

前面我们已经学习了一些排队模型,对排队系统有了基本认知,本期小编带大家继续来学习其他排队模型的内容。 一、有限源排队模型 顾客源为有限的这类排队问题的主要特征是顾客总数是有限的,如只有m个顾客。每个顾客来到系统中接受服务后仍回到…...

易基因: WGBS等揭示梨驯化和改良过程中DNA甲基化对果实成熟的作用机制 | 作物育种

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 梨(Pyrus ssp.,蔷薇科杏仁核亚科)是世界上最重要的温带水果作物之一。与野生梨相比,栽培梨的果实在许多形态特征上表现出显著变化&#xf…...

数据分析(二)——导入外部数据,导入Excel数据,CSV文件,txt文件,HTML网页,数据抽取,DataFrame对象的loc属性与iloc属性

一.导入外部数据 1.导入.xIs或.xIsx文件 pd.read_ excel(io,sheet_ name,header) 1.1常用参数说明 ●io:表示.xIs或.xIsx文件路径或类文件对象 ●sheet name:表示工作表,取值如下表所示 ●header:默认值为0,取第一行的值为列名,数据为除列…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...

python可视化:俄乌战争时间线关键节点与深层原因

俄乌战争时间线可视化分析:关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一,自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具,系统分析这场战争的时间线、关键节点及其背后的深层原因,全面…...

【Zephyr 系列 16】构建 BLE + LoRa 协同通信系统:网关转发与混合调度实战

🧠关键词:Zephyr、BLE、LoRa、混合通信、事件驱动、网关中继、低功耗调度 📌面向读者:希望将 BLE 和 LoRa 结合应用于资产追踪、环境监测、远程数据采集等场景的开发者 📊篇幅预计:5300+ 字 🧭 背景与需求 在许多 IoT 项目中,单一通信方式往往难以兼顾近场数据采集…...

免费批量Markdown转Word工具

免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...

linux设备重启后时间与网络时间不同步怎么解决?

linux设备重启后时间与网络时间不同步怎么解决? 设备只要一重启,时间又错了/偏了,明明刚刚对时还是对的! 这在物联网、嵌入式开发环境特别常见,尤其是开发板、树莓派、rk3588 这类设备。 解决方法: 加硬件…...