巴赫声明如下:
mkdir是一个典型的
setuid程序。只有具有有效 UID 根的进程才能创建文件夹。(第 7.6 节,第 229 页)
我在 Ubuntu 12.04 上检查了它的权限,setuid 位没有设置。
-rwxr-xr-x 1 root root 42624 Oct 2 08:55 mkdir
^??
Run Code Online (Sandbox Code Playgroud)
然后我检查了其他应该有这个设置的程序,比如ping和su,他们已经设置了。
-rwsr-xr-x 1 root root 34740 Nov 8 2011 ping
^---there it is
Run Code Online (Sandbox Code Playgroud)
那么,它是如何mkdir工作的?自从巴赫写那之后,事情发生了变化吗?
小智 5
mkdir() 调用从 BSD 4.2 开始就存在了。它后来被添加到 SYSV 3.0。请参阅:http : //pubs.opengroup.org/onlinepubs/9699919799/functions/mkdir.html
BSD 4.2 于 1984 年问世:http : //www.unix.org/what_is_unix/history_timeline.html
如果用户模式允许通过系统调用访问 UNIX 中的内核模式入口点,而没有限制,正如 duskwuff 所指示的那样,则不需要 setuid。
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |