Linux上执行Shell脚本运行失败提示Permission denied一个问题,挺好的问题,切中了知识盲点。

问题现象

Shell脚本在/tmp目录下,执行./test.sh运行失败,提示Permission denied。

问题分析

1、检查ls -al test.sh脚本是否有可执行权限。权限为777。看来套路不行啊。。以前通常90%都是这个原因引起的。

2、尝试使用sh test.sh运行,可以执行。为啥。。

3、是/tmp目录没有执行权限?执行stat / 和stat /tmp发现权限都满足。。有点慌。。解决不了了。下图stat命令执行结果供参考。

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

问题解决

1、将脚本放到其他不具有noexec文件系统目录执行或者使用sh test.sh运行。

2、如果可以将/tmp文件系统中noexec属性去掉,可以使用如下操作步骤(说明:仅限测试环境操作)

(1)在/etc/fstab文件中将/tmp文件系统的noexec属性删掉。

(2)重新挂载/tmp文件系统。执行umount /tmp; mount /tmp将/tmp文件重新挂载。

知识拓展

这里主要是因为不了解文件系统挂载参数的约束导致问题无法及时解决。学习下/etc/fstab文件及挂载参数内容。

/etc/fstab文件内容总共包含6列。

第一列:Device:磁盘设备文件或者该设备的Label、UUID

第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下。

第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等。可以使用df -T查看

第四列:parameters:文件系统的参数

Async/sync 设置是否为同步方式运行,默认为async(性能较佳)

auto/noauto  当执行mount -a 的命令时,此文件系统是否被主动挂载。默认为auto

rw/ro   是否以只读或者读写模式挂载

exec/noexec   限制此文件系统内是否能够运行可执行文件。

user/nouser是否允许用户使用mount命令挂载

suid/nosuid 是否允许SUID的存在

Usrquota 启动文件系统支持磁盘配额模式。这个涉及到磁盘配额的知识。有兴趣可以扩展看看

Grpquota 启动文件系统对群组磁盘配额模式的支持

Defaults  同时具有rw,suid,dev,exec,auto,nouser,async等参数。基本上,默认使用Defaults设置即可。

第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常值为0或者1。测试环境很少用。

第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。一般来说,根目录设置为1,其他的文件系统设置为2。以前经常会在IBM的AIX系统遇到该问题。

总结

看了这个案例,相信如果你以后再遇到Shell脚本运行失败提示Permission denied的问题,解决它的概率就比别人大很多了。。

[转帖]Linux /tmp目录下执行脚本失败提示Permission denied

Linux /tmp目录下执行脚本失败提示Permission denied https://www.cnblogs.com/linyfeng/p/11087655.html 国产化的环境上 就有一个 ...

linux 下执行.sh文件提示permission denied

linux 下执行.sh文件提示permission denied 在脚本文件目录下运行命令,赋予权限: chmod 777 *.sh or chmod +x  *.sh

linux下执行脚本失败的解决办法

现象: 1的解决办法:赋予该文件可执行权限即可,chmod +x docker.sh 2的解决办法:https://blog.csdn.net/youzhouliu/article/details/7 ...

shell 脚本中的当前工作目录等于执行脚本时所在的工作目录

1. 测试脚本 在当前目录下创建 h1 h2两个文件夹 2. 在脚本所在目录执行脚本 在当前目录下创建了h1 h2两个目录 3. 在其他目录爱=下执行脚本 在其他目录下执行脚本时,在执行脚本所在的目录 ...

linux 下执行.sh文件总是提示permission denied

linux 下执行.sh文件总是提示permission denied 如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限) chmod 777 *.sh or ch ...

SpringBoot使用logback自定义配置时遇到的坑 --- 在 /tmp目录下自动生成spring.log文件

问题描述 SpringBoot项目使用logback自定义配置后,会在/tmp/ 目录下生成 spring.log的文件(如下图所示). 解决方案 通过各种资料的搜索,最终发现问题的所在(logbac ...

解决从内部存储设备安装apk提示Permission Denied

做应用商店,下载apk,考虑一种情况,如果没有sd卡的情况下就将apk下载到 Internal Cache目录下. 下载都正常,但是在安装的时候提示Permission Denied /data/da ...

随机推荐

Java构建工具Ant小记(一)

Ant简介 Ant是基于java的构建工具.理论上来说它类似与make工具,但是却克服了make的一些固有的缺陷. 传统的Make是基于操作系统shell的构建工具,虽然也可以基于工作的os对make ...

关于echarts的疑问

echarts-例子--待解决:模拟迁徙里面的 var planePath = 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.0 ...

CA提供的身份认证配置弃用

场景:从CA网站登录,在CA主页点击我们集成到CA的业务系统图标进行跳转,发现业务系统登录过身份(没cookies),身份认证自动使用 url,跳转到CA登录页,造成二次登录 [Authorize] ...

HDU1518(dfs)java/ c++

Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

【UVA 1151】 Buy or Build (有某些特别的东东的最小生成树)

[题意] 平面上有n个点(1<=N<=1000),你的任务是让所有n个点连通,为此,你可以新建一些边,费用等于两个端点的欧几里得距离的平方. 另外还有q(0<=q<=8)个套餐 ...

解决windows下的mysql匿名登陆无法使用mysql数据库的问题

原文:解决windows下的mysql匿名登陆无法使用mysql数据库的问题 我在windows下安装了mysql,但是不用密码就能登进去,而root明明是有密码的,我用select user()命令 ...

ThreadPool

private void button6_Click(object sender, EventArgs e) { ThreadPool.SetMinThreads(, ); ThreadPool.Se ...

VirtualBox虚拟机网络设置说明

1. 网络接入模式简介    VirtualBox的提供了四种网络接入模式,它们分别是:         1.NAT 网络地址转换模式(NAT,Network Address Translation) ...

vb和c&num;插入行与删除行

vb: xSheet.Range(, ).Insert(Shift:=Excel.XlDirection.xlDown) xSheet.Range(, ).Delete() xSheet.Range( ...

【VUE】vue项目开发中,setTimeout等定时器的管理。

如果在一个组件中使用了定时器,当通过路由切换页面的时候 1.如果有同一个组件,定时器会叠加. 解决方案: computed:{ timer: { set (val) { this.$store.sta ...

android tmp目录权限不够,/tmp目录下执行脚本失败提示Permission denied相关推荐

  1. linux tmp 目录 权限不够,Linux /tmp目录下执行脚本失败提示Permission denied

    https://www.cnblogs.com/linyfeng/p/11087655.html 国产化的环境上 就有一个 data 目录 提示没有 权限 解决oracle问题时 顺便扫了一眼 原作者 ...

  2. 复制文件到服务器提示您需要权限,Ubuntu复制文件时提示Permission denied的解决方法...

    Ubuntu系统把一个文件复制到另一个文件时提示"Permission denied",这个错误提示的意思是认可被拒绝,意味着复制文件的权限发现了问题,那么该怎么解决呢?下面小编就 ...

  3. linux拷贝文件提示没权限,Ubuntu复制文件时提示Permission denied怎么解决?

    Ubuntu系统把一个文件复制到另一个文件时提示"Permission denied",这个错误提示的意思是认可被拒绝,意味着复制文件的权限发现了问题,那么该怎么解决呢? 一.表面 ...

  4. mac 下终端访问文件出现“Permission Denied”解决方案

    mac 下终端访问文件出现"Permission Denied"解决方案: 一个文件有3种权限,读.写.可执行,你这个文件没有可执行权限,需要加上可执行权限. 1. 终端下先 cd ...

  5. linux oracle目录权限不够,Linux 目录权限不足导致ORA-39070错误 | 信春哥,系统稳,闭眼上线不回滚!...

    同事要做数据迁移测试,需要服务器权限,就在操作系统上给他创建了一个用户wzs,给分了dba组,拥有dba组的用户就可以正常操作数据库,而且可以使用最高权限(SYS). [root@SL010A-IVD ...

  6. android安全和权限①----ShareUserId和文件访问(File Access)--Security and Permission

    SharedUserId 关于SharedUserId的总结: 我们知道一般每个app都有一个唯一的linux user ID,则这样权限就被设置成该应用程序的文件只对该用户可见,只对该应用程序自身可 ...

  7. linux cp 时 略过文件,CentOS下执行cp命令式提示略过文件夹

    今天在CentOS下复制一个文件夹到另一个文件夹的时候cp ./res /usr 的时候出现了问题,提示我的是: cp略过了文件夹 后来我找了一下 在网上search了一下CP命令的用法: CP命令 ...

  8. linux scp涉及到权限,linux系统中scp命令的用法(Permission denied排错二例)

    linux系统中scp命令的用法 注意: 在使用过程中如果出现   -bash: scp: command not found 请执行yum install openssh-clients scp是 ...

  9. unity3d 非运行模式下执行脚本

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...

最新文章

  1. JAVA中文注解驱动,解决api接口返回的json里面出现中文乱码的问题
  2. Android--状态栏的图标和文字提醒/NotificationManager与Notification对象的应用
  3. 计算机学院特色游戏,网络游戏七大特点浅析
  4. android不同机型上界面适配问题
  5. 【Paper】2014_多智能体系统一致性问题研究_唐骥宇
  6. LiveVideoStackCon2021音视频技术大会北京站Day2
  7. linux之gdb调试常用100个技巧
  8. qt5.3.1+opencv2.4.9编译环境的搭建
  9. html 点击div 改变高度,HTML / CSS将div设置为同级的高度
  10. 谁能救得了中兴?下一个是华为吗?
  11. MongoDB与其他数据库的对比
  12. 学术牛人教你如何阅读外国文献
  13. fortran调用MKL函数库中的gemm的fortran95接口计算矩阵相乘
  14. 微信小程序列表局部(单条)刷新
  15. 智能医疗二次爆发,医疗的全产业链何时打通?
  16. 计算机网络基础ios指令,IOS快捷指令制作真正的贴吧每天全自动签到
  17. 【论文制图】chemdraw安装与使用
  18. 抖音app开发时,在录制视频添加背景音乐功能实现流程
  19. 零基础如何入门嵌入式领域
  20. highlight代码高亮

热门文章

  1. ural 1297 O(nlogn) 后缀数组求最长回文字串
  2. 案例:实现文件下载并能正确显示中文文件名
  3. 6-Arco大讲堂(一)
  4. 在搜索框自动输入文本_selenium自动化测试之常见的定位元素
  5. elk如何同步到es 方案靠谱吗_架构设计:微服务架构如何划分?这6个标准原则让你一目了然...
  6. erp框架 saas_传统ERP软件和SaaS管理软件的区别
  7. 三层调用关系_你真正的了解MVC三层架构开发模式吗
  8. zbbix服务器搭建_zabbix服务器的搭建
  9. 2021第一波新年(春节)中国风插画设计,为年底储备素材
  10. linux open出现乱码,OpenStack 数据库中文乱码问题