Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
docs:guide-user:services:nas:ksmbd [2024/07/01 22:57] – [Example] add info on removing buffer limits palebloodskydocs:guide-user:services:nas:ksmbd [2024/12/11 13:48] – [Example] sppmaster
Line 4: Line 4:
 ===== Installation ===== ===== Installation =====
  
-To use ksmbd with [[docs:guide-user:luci:start|LuCI]] install ''luci-app-ksmbd'' which will automatically install the server and dependencies. To use ksmbd on the command line install ''ksmbd-server'' and ''ksmbd-tools''.+To use ksmbd with [[docs:guide-user:luci:start|LuCI]] install ''luci-app-ksmbd'' which will automatically install the server and dependencies. To use ksmbd only on the command line install ''ksmbd-server'' and ''ksmbd-tools''.
  
-If you are sharing a USB or eSATA drive from your device on your LAN, make sure you also install the drivers and filesystem as outlined in [[:docs:guide-user:services:nas:cifs.server#prerequisites]].+If you are sharing a USB or eSATA drive make sure you also install the drivers and filesystem outlined on the Samba [[:docs:guide-user:services:nas:cifs.server#prerequisites]] page.
  
 ===== Configuration ===== ===== Configuration =====
Line 16: Line 16:
 ==== Example ==== ==== Example ====
  
-This example assumes you have [[docs:guide-user:storage:fstab|two block devices]] on your device: an SSD on ''/mnt/sda1'' and a harddrive on ''/mnt/sdb1'' (these are standard OpenWrt mounting points).+This example assumes you have [[docs:guide-user:storage:fstab|block device]] attached on ''/mnt/sda1'' (typical Linux/OpenWrt mount points).\\ 
 +Multiple devices and shares may be added by providing a ''config share'' section with a name and mount location for each.
  
-We will access this storage anonymously over the LAN using the ''nobody/nogroup'' user, so we first assign ownership for all files and directories at these mounting points to that user:+To access storage anonymously over the LAN using the ''nobody/nogroup'' user, first assign ownership for all files and directories at these mounting points to that user:
  
 <code> <code>
-chown -R nobody:nogroup /mnt/sda1 /mnt/sdb1+chown -R nobody:nogroup /mnt/sda1
 </code> </code>
  
-Then we can configure our shares in ''/etc/config/ksmbd'' like this:+To access a shared storage over the LAN using a **username** and **password** you have to use ''ksmbd.adduser'' from SSH. A ''/etc/ksmbd/ksmbdpwd.db'' file is created. 
 + 
 +<code> 
 +root@OpenWrt:~# ksmbd.adduser --help 
 +Usage: ksmbd.adduser [-v] [-P PWDDB] [-c CONF] [-a | -u | -d] [-p PWD] USER 
 + 
 +If neither `-a', `-u', nor `-d' is given, either add or update USER. 
 +USER must be UTF-8 and [1, 48) bytes. 
 +USER cannot contain colon (`:'). 
 + 
 +  -a, --add             add USER to user database 
 +  -u, --update          update USER in user database 
 +  -d, --delete          delete USER from user database 
 +  -p, --password=PWD    use PWD as user password instead of prompting; 
 +                        PWD must be UTF-8 and [0, 129) bytes 
 +  -P, --pwddb=PWDDB     use PWDDB as user database instead of 
 +                        `/etc/ksmbd/ksmbdpwd.db' 
 +  -C, --config=CONF     use CONF as configuration file instead of 
 +                        `/etc/ksmbd/ksmbd.conf' 
 +  -v, --verbose         be verbose 
 +  -V, --version         output version information and exit 
 +  -h, --help            display this help and exit 
 + 
 +See ksmbd.adduser(8) for more details. 
 +</code> 
 + 
 +Configure shares in LuCI → Services → Network Shares or by editing ''/etc/config/ksmbd'':
  
 <code> <code>
 config globals config globals
  option workgroup 'WORKGROUP'  option workgroup 'WORKGROUP'
- option description 'Ksmbd on My-Device'+ option description 'Ksmbd on OpenWrt'
  option interface 'lan'  option interface 'lan'
  
Line 35: Line 62:
  option name 'ssd'  option name 'ssd'
  option path '/mnt/sda1'  option path '/mnt/sda1'
- option read_only 'no' 
- option guest_ok 'yes' 
- option create_mask '0666' 
- option dir_mask '0777' 
- 
-config share 
- option name 'harddisk' 
- option path '/mnt/sdb1' 
  option read_only 'no'  option read_only 'no'
  option guest_ok 'yes'  option guest_ok 'yes'
Line 49: Line 68:
 </code> </code>
  
-For better performance on devices with enough RAM (typically >256MB) raise or comment out the preset buffer limits in LuCI -> Services -> Network Shares -> Edit Template. Save and apply:+On devices with sufficient RAM (typically >256MB) performance can be improved, increase or comment out the preset buffer limits in LuCI -> Services -> Network Shares -> Edit Template. Save and apply: \\ 
 +As of this commit https://github.com/openwrt/packages/pull/25519 the below values are adjusted automatically (no need to change anything). This is valid for devices running OpenWrt main snapshot builds. \\ 
 +For versions below 24.10 you have to manually edit the template and adjust the values accordingly. 
 <code> <code>
  #smb2 max read = 512K  #smb2 max read = 512K
Line 55: Line 76:
  #smb2 max trans = 512K  #smb2 max trans = 512K
 </code> </code>
 +
 ===== Global section ===== ===== Global section =====
 The ''globals'' section contains share-independent options. The ''globals'' section contains share-independent options.
  • Last modified: 2024/12/11 13:53
  • by sppmaster