chmod a = rwx后,Linux权限被拒绝

所以我有一个小小的Linux问题,geez会教会我在Windows上度过这么多年。 无论如何,我做了一个小的Java应用程序,包装很好的Java服务包装脚本,但是当我运行该脚本:

sh ./wrapper.sh console 

我立即获得了权限。 权限被拒绝的消息是这样的:

 eval: 1: /home/user1/MyApp/bin/wrapper: Permission denied 

我的小wrapper.sh住在MyApp / bin文件夹中。 目录MyApp / bin / wrapper包含2个文件:

  • 包装-Linux的X86-32
  • 包装-Linux的X86-64

作为一个testing,我运行了下面的chmod命令:

 chmod a=rwx MyApp -R 

我证实,一切都是rwx,即使在子文件夹中,并试图再次运行脚本,完全相同的结果…权限被拒绝。

任何人有任何想法,我可以尝试旁边,使婴儿跑?

谢谢,Lancelot

我只注意到错误消息引用了托管你的文件的目录的名称:

 eval: 1: /home/user1/MyApp/bin/wrapper: Permission denied 

我们知道这是你提到的“目录MyApp / bin / wrapper包含2个文件”的目录。

你能检查你的脚本,例如你在哪里使用目录的名字作为命令? 比如使用wrapper(这是目录名)而不是wrapper / wrapper-linux-x86-32(这将是一个文件名),或者类似的错误?

当在文件名中使用空格时,经常出现类似的错误,并忘记引用所说的文件名(尽管这里可能不是这种情况)。

如果没有,你可以编辑你的问题,包括你打电话的包装脚本的内容?

(新的答案,因为它是完全无关的前noexec的想法,可以留下供参考。)

托管脚本的文件系统可能会挂载noexec标志。 检查你的文件系统的/ etc / fstab条目,如果有一个noexec那里尝试删除它,然后通过mount /path/to/mountpoint -o remount该文件系统

第二个想法是检查noexec实例的mount命令的输出,而不是/ etc / fstab(文件系统可能已经动态安装)。

您可能还必须将执行脚本授予包装器

chmod + x wrapper.sh

编辑:我只是注意到,你的wrapper.sh位于你的MyApp文件夹/编辑

另外,如果你确定你有

 #!/bin/sh 

在.sh文件的顶部,你可以像这样执行它:

.wrapper.sh

首先,尝试在文本编辑器中打开它,以确保您具有读取权限。 如果是这样,那么

 chmod +x wrapper.sh 

并确保在脚本的开头有#!/bin/sh

您可以尝试执行其他用户的主目录中的文件,您可以授予用户“用户”

chmod -R a + x / home / user1或chmod -R o + x / home / user1 chmod -R g + x / home / user1

虽然我的问题有点不同,但是在寻找类似问题的过程中,这个问题几次出现在我的搜索中,所以我会在这里发表我的发现。

我的问题是,我不能访问chmod命令后的存储/文件夹。

执行命令后:

 sudo chmod -755 storage -R //notice -755 is wrong, it should be 755 

我无法再访问存储/文件夹。

我试过ls -l

存储权限d ---------

git status

存储/ .gitignore:权限被拒绝

执行完正确的命令后:

 sudo chmod 755 storage -R // without - 

一切都恢复正常。