【问题标题】:TFTP on top of UDP: Checking write permission on the Server/Client directory基于 UDP 的 TFTP:检查服务器/客户端目录的写入权限
【发布时间】:2013-05-28 19:45:01
【问题描述】:

我已经在 C 中的 UDP 之上实现了一个 TFTP,我正在尝试弄清楚如何检查将要进行传输的 目录 上的读/写权限。对于文件的存在和文件不存在的情况我已经使用了F_OK的access(),但是在尝试检查目录的权限时W_OK和R_OK似乎很麻烦,我查看了stat(),但未能正确实施。关于 目录 而非 文件 的 stat() 或 access() 的替代方案或正确实现的任何想法。

【问题讨论】:

  • 你试过 opendir().但我想它适用于运行 TFTP 的本地机器
  • 不,我没有,因为我不需要打开目录;服务器和客户端在各自的本地目录中运行,现在我只想检查同一个本地目录的读写权限(因为我的 tftp 目前只支持)。所以如果操作不被允许(没有设置权限),就会向对端(服务器或客户端)发送一个错误包
  • 也许您可以发布或链接到您目前拥有的 stat() 和 access() 代码。

标签: c sockets tftp


【解决方案1】:

替代方案的想法:您不需要检查目录的权限;只需尝试打开文件,然后发送生成的错误代码。

【讨论】:

  • 无法打开文件(FILE 指针为空)可能有多种原因,写权限被拒绝是否设置了特殊的错误标志?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
相关资源
最近更新 更多