LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 923|回复: 6

【已解决】具有可执行权限的程序还是不能运行?

[复制链接]
发表于 2010-5-5 11:32:38 | 显示全部楼层 |阅读模式
用gcc编译ok了的一个很简单的helloword,居然不能运行。仔细查看,发现价目录及其子目录下的可执行程序均不能执行,请问怎么回事呢?


  1. wangqy@drake-laptop:~$ ls -l
  2. 总计 24
  3. drwxr-xr-x 2 wangqy wangqy 4096 05-04 23:00 Apps
  4. drwxr-xr-x 2 wangqy wangqy 4096 05-05 11:17 Desktop
  5. drwx------ 2 wangqy wangqy 4096 05-04 23:00 Downloads
  6. -rw-r--r-- 1 wangqy wangqy  437 05-05 11:12 hello.c
  7. -rw-r--r-- 1 wangqy wangqy   36 05-05 11:21 ok.py
  8. drwxr-xr-x 4 wangqy wangqy 4096 05-05 10:03 workspace
  9. wangqy@drake-laptop:~$ gcc hello.c
  10. wangqy@drake-laptop:~$ ls -l
  11. 总计 32
  12. -rwxr-xr-x 1 wangqy wangqy 4535 05-05 11:24 a.out
  13. drwxr-xr-x 2 wangqy wangqy 4096 05-04 23:00 Apps
  14. drwxr-xr-x 2 wangqy wangqy 4096 05-05 11:24 Desktop
  15. drwx------ 2 wangqy wangqy 4096 05-04 23:00 Downloads
  16. -rw-r--r-- 1 wangqy wangqy  437 05-05 11:12 hello.c
  17. -rw-r--r-- 1 wangqy wangqy   36 05-05 11:21 ok.py
  18. drwxr-xr-x 4 wangqy wangqy 4096 05-05 10:03 workspace
  19. wangqy@drake-laptop:~$ ./a.out
  20. bash: ./a.out: 权限不够
复制代码


若是在文件管理器直接点击,则会提示“没有为 可执行文件 文件类型安装应用程序”,可以看附件的图。另外,其他在家里目录下的可执行程序都不能运行……

不知道遇到什么问题了。大家帮忙看看吧,谢谢了。

系统信息:

  1. wangqy@drake-laptop:~$ uname -a
  2. Linux drake-laptop 2.6.32-3-686 #1 SMP Thu Feb 25 06:14:20 UTC 2010 i686 GNU/Linux
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2010-5-5 15:45:46 | 显示全部楼层
是不是父目录权限设置有问题?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-5 16:13:45 | 显示全部楼层
Post by nohappiness;2087986
是不是父目录权限设置有问题?
这是我的家目录啊,应该不会错吧……
回复 支持 反对

使用道具 举报

发表于 2010-5-5 16:29:59 | 显示全部楼层
copy到别的目录可以运行么?
回复 支持 反对

使用道具 举报

发表于 2010-5-5 18:20:43 | 显示全部楼层
这个,直观给人的感觉是分区挂载的参数加了 noexec

mount 一下看看输出
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-5 21:08:16 | 显示全部楼层
Post by poet;2088031
这个,直观给人的感觉是分区挂载的参数加了 noexec

mount 一下看看输出

真实唉!
  1. /dev/sda10 on /home type ext4 (rw,noexec,nosuid,nodev)
复制代码

原fstab文件:
  1. # /etc/fstab: static file system information.
  2. #
  3. # <file system> <mount point>   <type>  <options>       <dump>  <pass>
  4. proc            /proc           proc    defaults        0       0
  5. /dev/sda9       /               ext4    errors=remount-ro 0       1
  6. /dev/sda8       none            swap    sw              0       0
  7. /dev/sda10      /home           ext4    users           0       0
复制代码
把users改成defaults就ok了。
谢谢 poet ,谢谢大家关心。
回复 支持 反对

使用道具 举报

发表于 2010-5-5 21:23:33 | 显示全部楼层
defaults
Use default options: rw, suid, dev, exec, auto, nouser, and async.

如果你有特殊的可以参照这个改哦.比如
/dev/sda10      /home           ext4    rw,suid,dev,exec,auto,users,async           0       0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表