Если нужен полноценный и функциональный файловый сервер уровня предприятия, то лучше остановить свой выбор на Samba.
А ksmbd нужен там, где надо быстро и просто организовать один или несколько общих ресурсов.
Ядро Linux содержит реализацию файлового сервера на базе протокола smb - ksmbd.
Пример конфигурации /etc/ksmbd/ksmbd.conf.example
apt install ksmbd-tools
map to guest = never
#отключен гостевой доступ
map to guest = bad user
#включить гостевой доступ
[global] netbios name = 1cbackup map to guest = never [backup] comment = 1C_backup path = /mnt/backup/1c/ writeable = yes users = ksmbduser
Ksmbd использует сопоставление с системным пользователем
создаем системного пользователя, не задавая ему домашней папки и запретив интерактивный вход
(если вам не нужен реальный пользователь в системе с этим именем)
useradd -s /sbin/nologin ksmbduser
И сопоставляем с пользователем ksmbd:
ksmbd.adduser --add-user=ksmbduser
В автозагрузку она добавляется автоматически после установки.
systemctl restart ksmbd
изменить пароль пользователя:
ksmbd.adduser --update-user=ksmbduser --password=NewPa$$w0rd
удалить пользователя:
ksmbd.adduser --del-user=ksmbduser
Если нужен ананимный доступ
[backup_1c] path = /mnt/backup/1c/ writeable = yes guest ok = yes ; Разрешить анонимный доступ только к этому ресурсу
скрыть только конкретный общий ресурc
hide share = backup_1c
задать список пользователей имеющих право доступа к ресурсу:
valid users = ivanov petrov
задать список тех, кому доступ запрещен:
invalid users = kozlov
Данный список имеет приоритет над valid users.
Данный список имеет приоритет над valid users.
В случае ресурса с доступом только на чтения можно дополнительно указать пользователей имеющих право записи:
write list = ivanov
Также можно выборочно переключить некоторых пользователей в режим только чтения:
read list = kozlov
В случае совместного применения опций read list имеет приоритет над write list.
journalctl -u ksmbd.service