【发布时间】:2014-06-21 12:03:04
【问题描述】:
我有一个文件 hello.c,其中包含 C 语言中的“hello world”程序。我还在 shell (UNIX) 上完成了以下操作:
$ ls > 1
$ chmod 0 1
$ cc -o hello hello.c
$ chmod 400 hello
$ ./hello > 1
我在 1 日被拒绝了许可。
为什么我在 hello 上没有收到权限被拒绝错误?
【问题讨论】:
-
是的,但是 400 on hello 的 chmod 会阻止其执行权限。那么首先会发生什么呢?你好运行 1 的权限?
-
证据表明了什么?
-
调试步骤:你认为
chmod 0 1做了什么?你认为chmod 400 hello是做什么的? -
证据当然表明1的权限,但是如果有命令,我怎么知道首先会发生什么?
-
因为如果 hello 程序先运行,我应该得到 hello 的权限被拒绝错误。不是吗?