ksmbd 是内核的一个提供 samba 协议服务的模块,从 5.15 并入内核主线,去年的 6.6 稳定下来,据作者自己的测试能比用户态的 samba 快 40% 以上。使用 ksmbd 的另一原因是 debian 安装 samba 的时候会装一大堆不需要的依赖,不知道打包配置是怎么写的。
要使用 ksmbd 需要先安装 ksmbd-tools
。
配置文件是 /etc/ksmbd/ksmbd.conf
,格式和选项和用户态的 samba 服务一样,下面是我的一个配置,允许内网无密码读写:
; see ksmbd.conf(5) for details
[global]
workgroup = ousvr
log file = /var/log/ksmbd/log.%m
max log size = 1024
map to guest = bad user
hosts allow = 192.168.0. 127.
force group = ou
force user = ou
read only = no
guest ok = yes
[data]
path = /mnt/data
[download]
path = /mnt/download
可以在不同的目录配置中对 global
中的选项进行覆盖。
接着加载 ksmbd
模块:
modprobe ksmbd
然后执行 ksmbd.mountd
就可以了。
参考资料
[1] ksmbd-tools