linux - 在linux上,使用NFS,open()命令是远程执行的吗?

标签 linux nfs opendir inode

假设网络上有一台服务器,本地机器正在尝试打开一个文件。是 open("A/B/C/D/E/filename") 在本地系统上通过类似于此的方式实现的:

  1. 本地系统首先从服务器检索 A 的目录内容,出于安全原因,这可能会失败。

  2. 本地系统扫描目录寻找B的inode。

  3. 递归地重复 1 和 2,直到到达文件名的 inode。

  4. 本地系统最终调用服务器打开文件名的inode。

或者 open() 完全在远程主机上处理。

我正在尝试确定 opendir(dir)、针对某个文件名模式的 readdir()、closedir() 以及最后执行 open(filename) 是否将花费与 open(filename) 相同的时间。

最佳答案

NFS 中的身份验证检查在远程服务器上运行。证明?本地系统上的用户“root”通常映射到远程系统上的用户“nobody”并且没有权限。但是,我无法保证安全检查不会同时在本地系统上进行。

关于linux - 在linux上,使用NFS,open()命令是远程执行的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6363391/

相关文章:

c - 如何在 linux 下使用 realpath() 以编程方式获取文件的绝对路径?

linux - 具有多个 Web 服务器和共享文件的横向扩展场景

linux - nfs超时

NFS + 硬链接(hard link)?

c++ - 打开目录错误?

c++ - 如何在使用 dirent.h 阅读时跳过目录

php - 哪个更快 : glob() or opendir()

c++ - 堆栈是如何初始化的?

linux - 如何增量读取行

linux - 链接期间未找到符号