Skip to content

add smb user management support

Harald Sitter requested to merge work/smbpasswd into master

this rejiggers the model a bit and splits out user mapping logic into a usermanager. the usermanager loads all users and models their samba state. to do this it uses samba's pbedit tool. since this is a database editor tool actually it needs a kauth helper to carry out the lookups. this allows modelling of whether a user is enabled in samba or not (an actual GUI for this is not part of this commit)

in addition to looking up the state this adds a new page for the page stack for when the current user is not enabled in samba. this is to prevent users from setting up shares but then not being able to access them (assuming guest access is not possible - as is the case by default without a smb.conf enabling support for it)

this new page sports a simple password setting UI that then again turns to the auth helper for help. the auth helper runs smbpasswd, also a samba CLI tool, to set a password for the user

all of this is conditional on samba actually having been configured to use a local pdb instance as authentication database. other options would be ldap or some such and will likely never be supported because they'd only be used in corporate/managed environments where the user at hand wouldn't be able to manage users anyway

BUG: 334875 FIXED-IN: 20.12

Merge request reports