开发者社区 > 弹性计算 > 云服务器ECS > 正文

linux 在/tmp目录下,新建56.sh,node.sh2个文件,执行sh 56.sh报权限问题

已解决

linux 在/tmp目录下,新建56.sh,node.sh2个文件,并将2个文件权限全部为为777。
56.sh 内容为 /tmp/node.sh,
node.sh内容为 echo 123,
现在执行sh 56.sh 报错:56.sh: line 1: /tmp/node.sh: Permission denied,
特殊说明:只有在/tmp下这样操作会报错,在其它目录下执行同样操作不会报错,
/tmp目录的权限也是777,
不知道是/tmp目录的问题,还是用户有问题,请大神帮忙看看

展开
收起
游客fuzojzpl5x2bu 2024-01-07 11:49:49 75 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。
    推荐回答

    这个问题可能是由于/tmp目录的特殊权限设置导致的。在Linux系统中,/tmp目录通常具有一些特殊的权限和安全设置,以防止恶意用户在其中存储可执行文件。你可以尝试以下方法来解决这个问题:

    1. 使用sudo命令以管理员权限执行脚本,例如:

      sudo sh 56.sh
      
    2. 更改/tmp目录的权限,使其允许其他用户创建和写入文件。你可以使用chmod命令来实现这一点,例如:

      sudo chmod a+w /tmp
      

      然后再次尝试执行脚本。

    3. 如果上述方法仍然无法解决问题,你可以尝试将脚本和目标文件移动到其他目录,例如/home/your_username/temp,并在那里执行脚本。

    2024-01-07 16:21:00
    赞同 展开评论 打赏
  • 这个问题可能是由于/tmp目录的特殊权限设置导致的。在Linux系统中,/tmp目录通常具有一些特殊的权限和安全限制,以防止恶意用户在其中存储和执行任意代码。

    要解决这个问题,你可以尝试以下方法:

    1. 使用sudo命令执行sh 56.sh,以提升权限。例如:sudo sh 56.sh

    2. 更改/tmp目录的权限,使其允许当前用户执行文件。你可以使用chmod命令来实现这一点。例如:chmod u+x /tmp。请注意,这可能会降低系统的安全性,因此请谨慎操作。

    3. 将两个脚本文件移动到其他目录,然后在新目录下执行它们。例如,将56.sh和node.sh移动到/home/yourusername目录下,然后执行sh /home/yourusername/56.sh

    2024-01-09 11:28:10
    赞同 展开评论 打赏
  • 根据您描述的情况,问题可能在于SELinux安全上下文或者tmpfs文件系统的特殊属性。Linux系统中的/tmp目录通常是由tmpfs文件系统挂载的,它在重启后会清空内容,并且在某些环境中(尤其是启用了SELinux的系统),可能会对脚本执行有额外的安全策略限制。

    尝试按照以下步骤排查和解决:

    1. 检查并修改SELinux上下文

      restorecon -v /tmp/56.sh
      restorecon -v /tmp/node.sh
      
    2. 确认并设置正确的文件权限

      chmod 777 /tmp/56.sh
      chmod 777 /tmp/node.sh
      
    3. 查看并确保脚本具有可执行权限

      chmod +x /tmp/56.sh
      chmod +x /tmp/node.sh
      
    4. 尝试直接执行node.sh以确认SELinux或其它安全策略是否阻止执行

      sh /tmp/node.sh
      

    如果上述操作仍然无法解决问题,请查看系统的安全日志(如/var/log/audit/audit.log)以获取关于SELinux拒绝执行的具体信息。另外,也可以临时禁用SELinux进行测试(不推荐在生产环境中这样做):

    setenforce 0
    

    如果问题解决了,那么确实可能是SELinux策略导致的,需要进一步配置SELinux规则来允许执行/tmp下的脚本。

    请注意,在生产环境中应遵循最小权限原则,谨慎分配文件权限和管理SELinux策略。

    2024-01-07 14:50:56
    赞同 展开评论 打赏

云服务器ECS是一种安全可靠、弹性可伸缩的IaaS级云计算服务。在这里你可以获取最新的ECS产品资讯、最前沿的技术交流以及优惠活动等信息,加速自己的技术成长。

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载