GUISambaConfigSpec

Summary

We need a GUI tool for setting up / configuring SAMBA shares on Ubuntu. For this we need the following things:

  • A simple and easy to use tool for adding, removing SAMBA shares and configuring various options like read-only, read-write sharing, authenticated, unauthenticated use, etc.
  • The tool will take the the input from the user and will save the preferences to /etc/samba/smb.conf
  • The tool needs to be packaged and put up in the main repository
  • A menu entry should be created for the tool in System > Administration > Windows Networking, or something similar

Rationale

We at Ubuntu are trying to make our system as easy for newbies as possible. Small tools like this one are critical pieces which help in creating a complete Desktop Operating system. This tool should be ready by the time Edgy is released and it would be ideal since Edgy is supposed to contain many new and untested features and would provide an excellent platform for testing and gaining user feedback about this tool.

Use cases

  • Joe has just installed Ubuntu on his laptop and wants to share the files on his laptop with his MS Windows machine which is in the same home network and vice versa. He launches the tool from the menu bar and shares his /home/joe/share directory and can easily drag and drop files to and from his Windows PC.
  • Jane is in office with her Ubuntu laptop and wants to let her boss copy the Spreadsheet from her laptop. She shares her /home/jane/work directory in read-only mode by using the tool and lets her boss copy the file from her laptop.

Scope

  • Samba Shares & Configuration

Out of Scope

  • NFS Shares & Configuration

Design

  • The GUI tool will have options for selecting which directories to share and with which permissions
  • It will have configurable options for authenticated or unauthenticated shares
  • It will also have other options, like changing the workgroup name, [re]starting, stopping the SAMBA server, etc.
  • It should be compliant with the GNOME HIG
  • It should have sane defaults (read-only shares with no authentication, for example), but will have all the options under and Advanced tab/button

wizard1.png wizard2.png wizard3.png wizard4.png wizard5.png

samba-config-editor-main.png

Screenshots of the proposed interface

Proposed properties of the GUI tool (from the discussion in Ubuntu Forums) --

  • Configure Server/Workstation Options
    • Hostname
    • Workgroup
    • Description
    • Advanced
      • Master browser status
      • Other common advanced options
  • Shares Config
    • Path to share
    • Share name
    • Share permissions (Opens in a new dialog)
    • Mount exported shares
  • User account management
    • Add / remove users

We have begun a discussion on the interface/features etc here:http://ubuntuforums.org/showthread.php?p=970170#post970170, which may be of help.

Implementation

The tool will be written in Python & GTk+ so that it blends with the GNOME Desktop well. A Ubuntu package for the tool will also be provided. As a matter of fact, Red Hat & Fedora Core have a similar tool called redhat-config-samba. It's released under GNU GPL and code can be reused from that project if needed. The newer version of SAMBA will have usershare support which won't require smb.conf to be edited for adding / removing shares. The tool would be compatible with that feature in SAMBA.

Outstanding issues

None at the moment.

Comments

Barry deFreese (bddebian)

I think this is a great idea. The web based samba tools is less than friendly.

Geeman (Geeman)

I am glad I made enough noise for some people to notice the problem, if you need any help at all please let us know

MatthewEast

As far as I can see, System -> Administration -> Shared Folders satisfies completely the rationale and use cases of this spec. I'd recommend you add some use cases which you envisage your tool covering that isn't already covered by the default Ubuntu installation. Or maybe I have misunderstood the spec, in which case the purpose needs to be made a bit clearer.

BaishampayanGhose

Well, as far as I have noticed, that tool is very minimalistic and not much user-friendly. May be we can work on improving the UI of the current tool then?

AnteKaramatic

I agree with Matthew; I think we should expand Shared Folders tool and add (windows) printing capabilities (to gnome-cups-manager) for sharing printers (would like to help you with that). But Shared Folders is not very usable ATM and needs fixing

BaishampayanGhose

I agree with you guys. This spec was written just because the current tool is not very useful. How about using this tool's backend and completely rewriting the UI? We can also add printer management integration with this.

RobCaskey

Is there anything Ubuntu-specific about the enhancements you would like to make/see made?

Dyssident

shares-admin looks pretty serviceable. It already supports both nfs and smb shares. It needs a wizard (as layed out above) and configuration options for smbd. But perhaps the share editor and smbd configurator should be separate apps.

GeemanUK

The Current state of having to manually edit the smb.conf is archaic and put new users off. Most users expect in the least to be able to share files with their windows computers with ease. Kubuntu has already resolved this and I think that BaishampayanGhose's solution is the simplest most ideal way to sort it out. Extra functionality such as printer sharing, etc would also be extremely welcome perhaps in a possible version 2. Micosoft recognised that in order to help users, wizards are key tool to use. Matthew and others review the current steps to share a file with a windows computer then ask yourself, if your parents/grandparents could do it.....

suoko

I tried shares-config in gutsy now and guess it should add an option for "easy share" which should add the following lines to the samba shared folder options in smb.conf: "create mask = 0777; directory mask = 0777; force user = nobody; force group = nogroup;" Plus the folder should have nobody:nogroup owner. This would allow people from Windows to access immediately to your folder. However you will then have problems removing files from this folder since you wouldn't have enough rights. In order to have complete access to that folder you have to mount it with the gnome "connect to server" as it was a windows shared folder.

Jopsen

Biggest problem with System -> Administation -> Shared folders is that is doesn't handle user configuration. You have to use "sudo smbpwd -a myusername" if you want to login to the created folder from a remote PC afterwards. I think adding a tab, for configuration of samba user, to shares-config would do it for most home users.

VetselPatrice

shares-admin is completely and definitively bugged. This tool is writen in perl and non maintained upstream. We must (not should)find a dev (Google SOC ?!) to write a samba share tool https://wiki.ubuntu.com/EasyFileSharing


Consider merging this page with GUISambaConfigurator.


CategorySpec

GUISambaConfigSpec (last edited 2008-08-06 16:36:50 by localhost)