权限被拒绝运行我自己的程序(ubuntu)

时间:2009-06-17 11:05:43

标签: opengl ubuntu-9.04

与编程无关......

我已经构建了程序,一些基本的opengl,然后运行它并且sh:/ blabla权限被拒绝。我怎么能让它变得更便宜?

该程序只是旋转方块,我有ubuntu 9.4

刚刚发现即使是int main(){}也无法正常工作

9 个答案:

答案 0 :(得分:14)

我遇到了同样的问题,似乎我的分区被挂载为noexec cat / etc / mtab

当我在/ etc / fstab中配置选项时,我写了exec,user但是看起来“user”选项默认设置为“noexec”。当我将这两个的顺序改为用户时,exec一切都恢复正常了!

希望它有所帮助。

答案 1 :(得分:7)

你是如何编译的?你可以发布makefile吗?如果你运行

chmod +x myPorgram
./myProgram
有什么变化?

答案 2 :(得分:5)

通过运行“mount”

检查mountpoint以查看它是否挂载为noexec

答案 3 :(得分:2)

我在Ubuntu上使用CodeBlocks并且已经有很多次这个问题了。 KermiDT说的正是解决方案(如果我有足够的重复点,我会投票) 默认情况下,“user”选项设置“noexec” 所以在/ etc / fstab中只需添加,exec用户之后。 我的看起来像这样:
/dev/sda6 /media/DATA vfat uid=kenny,gid=kenny,users,user,exec 0 0
虽然,间距有点偏......但你明白了。

答案 4 :(得分:1)

几个问题:

  1. 是否在文件上正确设置了权限?
  2. 是否正确设置了任何解释器的路径?

答案 5 :(得分:1)

除了上面提到的chmod + x文件外,另一个问题可能是缺少库。要检查所需的库,请使用ldd:

$ ldd /bin/sh
    linux-vdso.so.1 =>  (0x00007fffb43fe000)
    libc.so.6 => /lib/libc.so.6 (0x00007fc4abe11000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fc4ac183000)

如果其中一行显示缺少库,您将知道需要安装的内容才能运行程序。

另一种可能性是你的程序是脚本(shell,perl,python或其他基于文本的程序)。第一行看起来像:

#!/usr/bin/perl

如果找不到该文件,您将收到权限被拒绝错误。

答案 6 :(得分:1)

尝试在64位系统上执行32位应用程序时也会遇到此问题。执行:

a. file (executable name)
b. uname -a

并检查两者是“i386”还是“amd64”。

如果它们不相同,请查看this article

答案 7 :(得分:0)

尝试使用strace执行命令,以跟踪它所做的成功系统调用以及停止的位置。

这是您启动它的方式,

strace ./blabla

您是否收到“权限被拒绝”错误或“exec format error”之类的内容? chmod +rx 在文件上,您不应该点击“权限被拒绝”。

答案 8 :(得分:0)

您还应该确保您的用户名在视频群组中。检查/ etc / group并确保您的用户名显示在“视频”行中。