Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad Entry: easy-file-sharing
Packages affected: nautilus-share, samba
Make file sharing between ubuntu boxes in a lan/wlan easy.
(release quirks) on upgrade: need to log in as a user to get samba password working. If you upgrade and then never log in with a user you won't be able to share with that user.
To share a directory in ubuntu it is currently required to install either nfs or samba (neither is available in the default install) and to have super user rights.
- Alice wants to share the photos on her laptop with some friends.
- Conrad wants his video folder to be visible from the house's shared media PC.
- Patrice just have to right click on a folder to set read only/or not, password restriction or world access. Then the directory should act as he want, from the same PC, from another Ubuntu desktop, from Windows Vista and XP and 98 and from Mac OS. As this is done under Windows.
Ideally we want something that is installed by default, does not open a port, non admins can add/remove/edit shares, straightforward, shows up in network shares for Windows and MacOSX. Currently there is no tool that offers all of this, but we try to come as close as possible.
It is important to us that the file sharing solution works with both windows and mac machines out of the box. This means that the other two operating system should see the linux file server in their network browser. This rules out gnome-user-share that provides a WebDAV share and does not require special privileges to setup and leaves pretty much only a samba based solution.
The current solution requires admin privileges to install the initial samba server and to edit shares. It does also ask if samba and/or NFS should be installed.
The next samba upload will support "net usershare" shares, this means that its no longer require to have superuser rights to edit the setup.
If samba is not installed we ask for installing it (but we do not offer NFS anymore). It would be good if we had a samba that is installed by default but does not have a open port unless there is a actual directory to share. This maybe too much magic to hack into samba.
We use "nautilus-share" as the sharing GUI and ensure that it gives a proper message if the user is not able to share because he is not in the sambashare group.
We want to use enable samba password sync out of the box to support that the user can log into his/her homedir with his regular ubuntu username/password (the alternative would be to send cleartext passwords over the network which is no longer supported with XP and vista out of the box). This requires some PAM magic and the installation of the libpam-smbpass package by default (even when samba is not installed yet). All admin users should automatically become part of the sambashare group.
On system upgrades we need to do some magic to generate/update the smb.passwd file. Steve Langasek knows how to do that and offered to help (the only problem with the upgrade solution is that it will only work after the user loged into the account for the first time)
We also need to enable netusershare on upgrades. The samba package should be modified so that it automatically enables it by editing the smb.conf file in the postinst script. The alternative is to just enable netusershare in the samba binary by default.
People in the admin group should be automatically added to the sambashare group as well (add a debconf note).
merge spec with EasyNetworkFilesending
- need to review defaults as well (eg guest-accessible share by default as a non-root user). Good time to review a general samba audit. (out of scope for this spec)
- Empathy is not there yet, likely won't be available by Hardy. Watch out for Empathy and Telephathy for Hardy+1
- if we get a better protocol in the future we can always multi-protocol share. ( eg webdav, enlightenment/telepathy, etc.)
- KDE has some pretty broken samba stuff kde-tools break samba at the moment for sharing samba (old and really nasty) -- KDE 4 job.
BoF agenda and discussion
We dicussed the various options:
samba/nfs as it is currently used via shares-admin or nautilus-share (it's using "net usershare" from samba http://gentoo.ovibes.net/nautilus-share/mediawiki-1.4.4/index.php/Accueil)
gnome-user-share (http://ftp.gnome.org/pub/gnome/sources/gnome-user-share) - requires apache2
giver (http://code.google.com/p/giver/) - c# based
gshare (http://yimports.com/~cpinto/projects/gnome/gshare) mono + ftp + avahi. in universe. claims to allow sharing to macs, and windows with bonjour installed (or anyone happy to type in ftp://ip:port)
woof (http://www.home.unix-ag.org/simon/woof.html) + nice frontend
The problem with any any custom-sharing system (like giver) we have needs to be on the other user's computer somehow and we can't expect this.
We will remove the "Install NFS" option, because:
- does not work out of the box on windows/macos
- NFS requires both server and client to be root, samba only requires server to be root. This gives us a better use case for samba over NFS.
- Samba is eventually implementing encryption out of the box, which isn't the case for NFS.
Why don't use Giver ? http://idea.opensuse.org/content/ideas/easy-file-sharing?s=share => It's by default on openSUSE 10.3 (Look at the flash movie) - should go into universe
===comments=== seems a bit silly to drop nfs. samba is good, but choice is better. avahi / some zeroconf would really be neat.