【发布时间】:2010-01-04 23:47:51
【问题描述】:
我用 c 编写了一个程序,它进行一些计算然后创建一个文件夹。该文件夹的所有者是根用户。我正在尝试与其他用户一起运行此 c 应用程序。我遇到了这个错误:
mkdir: lol: Permission denied
好的,我知道这个错误是可以的,因为我没有权限,但是我在互联网上看到,如果我在文件上设置了 suid 位,那么这个文件将以所有者的权限运行. 我用过这个命令:
chmod +s filename
但它不起作用...... :(有什么想法吗?
编辑:
所以,首先,我的 Unix 发行版是 Mac OS X 10.5.8。我的文件名是 a.out,因为我是从 ic.c 用命令编译它的:gcc ic.c
我正在使用 root 用户运行 chmod 命令。
【问题讨论】:
-
您是否以 root 身份运行
chmod? -
root 是二进制文件的所有者吗?不过,真的,重新考虑你的问题,问问自己是否真的需要 setuid 位。