Skip to content

WIP: sharing: Network File Storage, version 2

Veiko Aasa requested to merge vexch/freedombox:sharing-samba-http into master

Join Samba and HTTP(S) share configuration into one page, intends to replace current Sharing app.

Closes #1758 (closed) #1796 (closed)

TODO ideas:

  • HTTP(S) group, home and public shares
  • HTTP(S) public_html folder in the share is public (if HTTP(S) is enabled)
  • Samba group, home and open shares
  • ability to edit the name of the share
  • ability to create more than one Open/Group/Home share per mount
  • share any folder
  • explain possible permission issues when sharing custom folder (closes #1676)
  • limit access to the groups
  • create read-only (Samba) shares
  • admins can access all shares by default (closes #1755, I think selecting freedombox-share group by default is not necessary)
  • blue Sharing app logo, looks better than black
  • disable the Samba option if Samba is not installed
  • show the disk path on the edit view
  • deleting a share deletes also the shared folder unless sharing a custom path
  • hide system partitions /boot, /boot/firmware, /.snapshots
  • make app installed by default
  • list user names who need to re-enter their password to access Samba shares
  • UX design for sharing #1869
  • Add frontpage shortcuts for shares #1800
  • Add ability to move all the files and folders from the selected disk to the created share
  • add miniDLNA option
  • ability to create hidden Samba shares
  • do not set share permissions on mounts that do not support it (NTFS, FAT, CIFS), fixes #1876
  • on the add share view, warn if a mount point does not support setting permissions and is not writable by the users
  • force HTTP(S) authorization also on non-existing shares to prevent probing which shares are enabled
  • update shares after disk mount/unmount operations and after boot
  • samba: link to this app for configuration, update info text
  • samba: upgrade existing shares (no changes needed)
  • sharing: replace with this app, upgrade existing web shares to use Apache2 macros
  • make user home shares writable to the members of freedombox-share group so that apps can write into user home folders
  • storage: update directory selection form to use updated Sharing app
  • storage: allow to select user home shares from the directory selection form
  • make disks portable between FreedomBoxes, recursively overwrite group share folder owner/group/permissions if needed
  • ... and recurively overwrite home share permissions if needed
  • For additional security, guide users to use VPN and disable direct HTTP(S) access from Internet. Also related - add two factor authentication #236.
  • backup sharing configuration
  • ability to restore sharing version 1 configuration from backup
  • allow admins to write to read-only shares
  • improve texts and make all text translatable
  • architectural improvements
  • update manuals
  • performance / unit / functional tests
  • tests with external storage, different hardware
  • users: allow to create virtual (actually, real) groups (family, friends, school, dev-team ...)?
  • A user (including an admin) must be a member of the freedombox-share group to access shares. For example, the members of the git-access group can access shares meant for the git-access group only if they are also members of the freedombox-share group. This would help users to access shares via cp/scp/sftp. The changes required: 1) when creating a share, remove the freedombox-share group option, 2) add the 'users' group option (it will be used when converting existing Samba shares) 3) add all admins to the freedombox-share group. Also, need to think about how to convert existing web shares, as currently users of the web shares do not have to be members of the freedombox-share group.
  • redirect /share from HTTP to HTTPS, rename HTTP(S) to HTTPS

sharing_2_list sharing_2_add

Edited by Veiko Aasa

Merge request reports

Loading