WIP: sharing: Network File Storage, version 2
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
Edited by Veiko Aasa