cif文件服务器,CIFSD-开源 In-kernel CIFS/SMB3 服务器

2023-05-16

软件简介

CIFSD 是由 Namjae Jeon 创建的用于 Linux 内核的开源 In-kernel CIFS/SMB3 服务器,它是 SMB/CIFS

协议在内核空间中的实现,用于通过网络来共享文件和 IPC 服务。最初的目标的是提供改进的文件 I/O

性能,但更大的目标是希望拥有一些新的特性,使得这些特性在内核内部更容易开发和维护,并且完全暴露这些层。

方向可以认为是将 SAMBA 移动到内核中的几个模块的部分,以具有像程直接数据存取(Remote direct memory

access)那样的功能以实际性能增益工作。

CIFSD 功能

已实现

a. 用于实现基本文件共享功能的 SMB1(CIFS), SMB2/3 协议

b. 动态授权

c. 混合请求

d. 持久的处理

e. oplock/lease

f. Large MTU

g. NTLM/NTLMv2

h. 自动协商

i. HMAC-SHA256 签名

j. 安全协商

k. 升级签名

l. Preautentication integrity(SMB 3.1.1)

已计划

a. SMB direct(RDMA)

b. Multi-channel

c. Durable handle v2

d. Kerberos

e. persistent handles

f. 目录租约

g. SMB 加密

CIFSD 架构

================================================================================

* CIFSD Architecture

================================================================================

|--- ...

--------|--- kcifsd/3 - Cleint 3

|-------|--- kcifsd/2 - Client 2

|       |         _____________________________________________________

|       |        |- Client 1                                           |

|       |      | |      <<= SMB : SMB1, SMB2, SMB2.1, SMB3, SMB3.0.2,  |

|       |      | |                SMB3.1.1                             |

|       |      | |_____________________________________________________|

|       |      |

|       |      |--- VFS --- Local Filesystem

|       |

KERNEL |--- kcifsd/0(forker kthread)

---------------||---------------------------------------------------------------

USER           ||

|| communication using NETLINK and sysfs

||  ______________________________________________

|| |                                              |

cifsd   <<= DCE/RPC, WINREG                         |

^  |  <<= configure shares setting, user accounts |

|  |______________________________________________|

|

|------ smb.conf(config file)

|

|------ cifspwd.db(user account/password file)

^

cifsadmin ----------------|

================================================================================

================================================================================

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cif文件服务器,CIFSD-开源 In-kernel CIFS/SMB3 服务器 的相关文章

  • /arm64/Image 到 zImage 或 boot.img

    大家好 我一直在试图弄清楚如何使我的 android 内核成为 zImage 或 boot img 我试图弄清楚但没有运气 有人告诉我 zImage 不适用于我的设备 因为它是 arm64 内核 但我想我会再问一次 如果是这种情况 我会尝试
  • vmlinux可以加载到虚拟机的内存中吗——它前面是什么?

    维基百科上有关编译完成后 vmlinux 输出文件的信息 vmlinux 是一个静态链接的可执行文件 其中包含采用 Linux 支持的目标文件格式之一的 Linux 内核 其中包括可执行和可链接格式 通用对象文件格式和 a out 原来如此
  • 由于 system.currentTimeMillis() 导致系统 CPU 使用率较高

    我正在我们的 Storm Supervisor Wheezy 机器 上调试高系统 CPU 使用率 不是用户 CPU 使用率 以下是观察结果 相关进程的 perf 输出 Events 10K cpu clock 16 40 java kern
  • 监控内核注册表更改

    人们能否给我指点 没有双关语 我需要研究的主题才能做到这一点 我并不是真正的 Windows 专家 但我很快就能掌握新概念 我看到了 Mark Russinovich 和 Bryce Cogswell 编写的进程监控程序 http tech
  • 将 CPU 频率指定为 Linux 启动时的内核 CMD_LINE 参数?

    我将笔记本电脑的i5 CPU更换为i7 CPU 这样它可以运行得更快 但由于i7的功率更大 温度也比以前更高 所以我的笔记本经常死机 所以 我使用cpupower来指定CPU的最大频率 它起作用了 现在 我的问题是 有没有办法在启动时将CP
  • Android内核编译错误gcc6 linaro 6

    我正在尝试使用 Linaro 6 进行编译 但收到此错误 我认为该错误与 GCC 6 有关 我对编译内核或编码非常业余 但即使搜索类似的术语我也无法弄清楚 CC drivers iommu msm iommu v1 o In file in
  • 如何“安装”自定义 Windows 驱动程序?

    我计划用 C 语言编写一个基本的 Windows 注册表过滤器 该过滤器的目的是挂钩所有 用户和内核特权 注册表调用 以便我可以在我的程序中使用它们 我基本上是复制 Mark Rusinovich 的 regmon 进程监视器 但更基本 我
  • Linux 中 NDIS 过滤器的类似物是什么?

    我正在研究一个as close to real time我在linux中尽可能地使用系统 并且需要在收到特定数据包后立即发送大约600 800字节的TCP数据包 为了获得最佳的延迟 我希望这个数据包直接从内核发送 而不是将接收到的数据包一直
  • “do { ... } while (0)”在内核代码中到底做了什么? [复制]

    这个问题在这里已经有答案了 可能的重复 当我们定义宏时 do while 0 有什么用 https stackoverflow com questions 923822 whats the use of do while0 when we
  • 尝试映射大页面 (1GB) 时 mmap 失败

    我做了什么 使用 root 启用大页 我的系统支持 1MB 大页 echo 20 gt proc sys vm nr hugepages 将大页文件系统挂载到 mnt hugepages mount t hugetlbfs nodev mn
  • 在中断时获取 current->pid

    我正在Linux调度程序上写一些东西 我需要知道在我的中断到来之前哪个进程正在运行 当前的结构可用吗 如果我在中断处理程序中执行 current gt pid 我是否可以获得我中断的进程的 pid 你可以 current gt pid存在并
  • 没有设备的设备驱动程序?

    我正在创建一个需要使用一些内核级模块的应用程序 为此我将应用程序分为 2 个 一个用户级程序和一个内核级程序 在阅读了有关设备驱动程序并浏览一些教程后 我有点困惑 是否可以存在没有任何特定设备与之关联的设备驱动程序 除了设备驱动程序 内核代
  • saber sd 如何在没有 SPL 的情况下直接从 uboot 启动

    sabre sd 基于 imx 6 最大内部 RAM 约为 150Kb 然而 uboot 足够大 可以容纳在这个空间中 在这个场景中事情是如何进行的 https community freescale com docs DOC 95015
  • 设置 IRQ 映射

    我正在遵循一些教程和参考文献来尝试设置我的内核 我在教程中遇到了一些不熟悉的代码 但根本没有解释它 这是我被告知映射的代码16 IRQs 0 15 到 ISR 地点32 47 void irq remap void outportb 0x2
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • 点击界面没有出现

    我决定添加一个点击界面并在我的代码中使用它 但我能够得到它的状态 sudo ip f link tuntap add tap10 mode tap sudo ip link set tap10 up 之后当我执行 ip link 时 tap
  • copy_from_user() 错误:目标大小太小

    我正在为内核模块编写 ioctl 处理程序 我想从用户空间复制数据 当我编译禁用优化的代码时 O0 gflags 编译器返回以下错误 include linux thread info h 136 17 error call to bad
  • Linux CFS 调度程序代码在哪里?

    我有3 13版本的完整linux源代码 我试图找到 CFS 调度程序的源代码 根据流行书籍 它应该驻留在 kernel sched c 中作为基本调度程序代码 而 kernel sched fair c 专门针对 CFS 代码 我刚刚在 3
  • 如何使用 jCIFS 使用默认查看器在 Android 中打开文件

    我正在使用免费的 jCIFS 库通过 CIFS 连接到我的 NAS 设备 并且运行良好 我可以连接并获取文件名列表等 没有任何问题 现在我想在默认的 Android 应用程序中打开其中一个文件 即音乐文件应该在音乐播放器中打开 图像在图库中

随机推荐