各个函数对符号链接的处理
说明:
1. 下表中没有列出 mkdir、mkinfo、mknod、和 rmdir 这些函数,其原因是,当路径名是符号链接时,它们都出错返回。
2. 以文件描述符作为参数的一些函数,如 fstat、fchmod等,在表中也没有列出,其原因是:对符号链接的处理,是由返回文件描述符的函数(通常是open)进行的。
3. chown 是否跟随符号链接取决于实现。
函数 |
不跟随符号链接 |
跟随符号链接 |
access |
|
* |
chdir |
|
* |
chmod |
|
* |
chown |
* |
* |
creat |
|
* |
exec |
|
* |
lchown |
* |
|
link |
|
* |
lstat |
* |
|
open |
|
* |
opendir |
|
* |
pathconf |
|
* |
readlink |
* |
|
remove |
* |
|
rename |
* |
|
stat |
|
* |
truncate |
|
* |
unlink |
* |
|
注意:
如果同时用 O_CREAT 和 O_EXCL 两者调用 open 函数, 那么当路径名为符号链接时,无论该符号链接指向的文件是否存在, open都将出错返回,并将 errno 设置为 EEXIST。这种处理方式的意图是堵塞一个安全性漏洞,使具有特权的进程不会被诱骗对不适当的文件进行写操作。
阅读(2001) | 评论(0) | 转发(0) |