当前位置: 首页 > 软件库 > 其他开源 > Linux内核 >

CIFSD

In-kernel CIFS/SMB3 服务器
授权协议 GPL
开发语言 C/C++
所属分类 其他开源、 Linux内核
软件类型 开源软件
地区 不详
投 递 者 司空凌
操作系统 Linux
开源组织
适用人群 未知
 软件概览

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                                           |
<--- Socket ---|--- kcifsd/1   <<= Authentication : NTLM/NTLM2, Kerberos(TODO)|
       |       |      | |      <<= 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 ----------------|

================================================================================
================================================================================
  • 软件简介 CIFSD 是由 Namjae Jeon 创建的用于 Linux 内核的开源 In-kernel CIFS/SMB3 服务器,它是 SMB/CIFS 协议在内核空间中的实现,用于通过网络来共享文件和 IPC 服务。最初的目标的是提供改进的文件 I/O 性能,但更大的目标是希望拥有一些新的特性,使得这些特性在内核内部更容易开发和维护,并且完全暴露这些层。 方向可以认为是将 SAMBA 移动

  • 反馈:环境:Arm64环境 测试1:默认配置下报错: [ 94.277834] ksmbd: kill_server_store:437: kill command received [ 94.331114] ksmbd: ksmbd_tcp_set_interfaces:596: Unknown interface: [ 113.961601] ksmbd: kill_server_store:

 相关资料
  • 由于Windows 2012R2不再支持SMB 1协议,没有一些注册表黑客攻击,有没有人在只支持SMB 2.1或SMB 3的Java中成功使用SMB共享? JCIFS库显然只是SMB 1,所以它已经过时了。我看到微软有一个针对Azure的Java库,但这似乎是在利用服务,而不是SMB。

  • 如何包含Eureka服务器 要在项目中包含Eureka服务器,请使用组org.springframework.cloud和工件id spring-cloud-starter-eureka-server的启动器。有关 使用当前的Spring Cloud发布列表设置构建系统的详细信息,请参阅Spring Cloud项目页面。 如何运行Eureka服务器 示例eureka服务器; @SpringBoot

  • hprose 为发布服务提供了多个方法,这些方法可以随意组合,通过这种组合,你所发布的服务将不会局限于某一个函数,某一个方法,某一个对象,而是可以将不同的函数和方法随意重新组合成一个服务。 AddFunction 方法 AddFunction(name string, function interface{}, option ...Options) Service 该方法的用于发布一个函数(命名函

  • Debug 字段 该设置默认值是 false,当发生错误时,只返回错误信息本身。 当该字段设置为 true 时,当发生 panic 时,会将整个 panic 的错误堆栈信息返回给客户端,在用户进行 hprose 服务开发时,该设置可以帮助你快速定位错误位置。 ErrorDelay 字段 该设置为整型值,默认值为 10 秒。 该字段表示在调用执行时,如果发生异常,将延时一段时间后再返回给客户端。 在

  • null null Tomcat服务器正在运行servlet,为mySQL数据库执行一些业务逻辑和hibernate框架。 现在我有点糊涂了。两台服务器都能接收HTTP请求吗?就像servlet从网页接收https请求和我的apache服务器一样? 并且两者都可以连接到数据库--使用php的apache服务器,正如我提到的,同时使用servlet的tomcat?

  • 如何在生产环境中将hazelcast服务器作为linux服务运行? java-server-cp hazelcast。jar com。黑兹卡斯特。例子。StartServer StartServer运行带有输出到std终端的服务器,将其作为linux服务运行并将日志写入文件的最简单方法是什么 我必须将其设置为EC2实例中的服务并将其捆绑。当EC2自动缩放启动实例时,hazelcast服务器将启动并

  • 创建 http 服务器 package main   import ( "net/http"   "github.com/hprose/hprose-golang/rpc" )   func hello(name string) string { return "Hello " + name + "!" }   func main() { service := rp

  • 我正在开发一个基于云的后端HTTP服务,该服务将公开用于与一些on-prem系统的集成。客户机系统是由外部供应商定制的,它们是带有自己数据库的后端系统。这些系统部署在我们客户的公司中,我们无法访问它们,也无法控制它们。我们向供应商提供我们的API规范,他们实现客户机代码。 我的服务与客户交换的数据格式基于XML,并遵循一定的标准。供应商用不同的编程语言实现他们的客户机系统,随着时间的推移,新的供应