Philip Van Hoof
2004-Oct-19 11:45 UTC
[fdo] Integration of network-softwares like samba, nfs and sftp with the desktop
Hi there, I would like to enable the desktop user to create shared folders, for example using protocols like Samba, nfs and sftp. For the user to make this possible, the user needs (on a Linux machine configured with the defaults of most current Linux distributions) root privileges. However. In a desktop environment, in my humble opinion the possibility for a normal user to configure a simple share within his or her own home-directory should exist. Worse! It should be easy! Really easy!! No wait, you don't understand what I am saying yet. REALLLYYY easy. My girlfriend should NOT have to read ANY document. Yet she SHOULD have to just KNOW by the freaking menu labels how to do it. You get my point? To make this possible we could, for example, create a small daemon which runs as a user with the right privileges to alter that part of the configuration of systems like Samba, nfs and sftp (openssh), and alter softwares like Nautilus. A very simple (but perhaps quick-n-dirty) solution would be to take a tool like Fedoras system-config-samba and turn it into an ORBit server, and let applications (like nautilus) talk CORBA to configure Samba. It would also be a possibility if the developers of technologies related to the desktop-world, stick their selfish heads together to create a standard for talking with the normal-user about such configuration. A lot like, on the GNOME desktop, gconf. It would be nice and easy for GNOME application if a system like Samba would peek into the gconf- configuration-settings of a user to know about shares this user has set. (And then we have the stupid discussion with the KDE people who believe their configuration system is superior with GConf bla bli bla bla). Any such solution should happen, of course, in a secure fashion. Being opensource, we know that we can code this in a secure fashion, don't we? It would be nice if we could get the attention of those people involved with the softwares mentioned. I have strong beliefs that the Linux desktop is ready for integration with all those parts that made the Operating System strong in the server-room. I am willing to put my energy into getting it to that point, if and only if people are with me. And not against the idea, not against the concept. Not if people are "just" scared and parano?a of security-issues while not knowing one little thing about secure-programming. There is nothing scary to it, in my humble opinion. Yeah Microsoft makes a lot security mistakes and perhaps those happen because they want to integrate such security-critical tasks with the desktop-environment. But that doesn't mean that we shouldn't do it the way it should be done. It means that the Linux desktop might have the advantage that this system has been coded in a way that allows all this integration to happen: in a secure fashion. ps. Before Januari I will have ten vacation days left. I would like to spend them doing something (very) useful for the Linux desktop. Last time I decided to help Gaute Hope create gnome-schedule, which has been more or less a success. This issue is one of the many that have been itching me for a long time, so I am being serious about it. I am not only looking for talkers.. I am looking for doers. -- Philip Van Hoof, Software Developer @ Cronos home: me at freax dot org gnome: pvanhoof at gnome dot org work: philip dot vanhoof at cronos dot be junk: philip dot vanhoof at gmail dot com http://www.freax.be, http://www.freax.eu.org
Philip Van Hoof
2004-Oct-19 12:11 UTC
[fdo] Integration of network-softwares like samba, nfs and sftp with the desktop
At this moment, I have the following in mind:
Option one: Create a ORBit daemon that will monitor the configuration-
files of Samba using fam (and will reload it's configuration if the file
is altered). This server will reparse the configuration-file each time
it's asked to do something (for a user) and will append/alter the
configuration-file if the security-checks are good. (so if the share is
within the homedir, if there are no symbolic/hard-links in the tree that
could give the user access to another place, etc etc).
pro: Other desktops like KDE can easily talk CORBA with this daemon.
They will probably never use this for CORBA smells to much like
GNOME (they even have the same amount of characters in their
name!!) but ... okay
contra: Yet another daemon, running as evil-root
Option two: Create a plugin or piece of code for Samba that will read
and listen for GConf-events/configuration key changes and will reload
the configuration of Samba.
pro: Tight integration, no learning curve for developers who want to
integrate their software with this folder-sharing. It's just
adding GConf configuration-keys for that user.
contra: KDE desktops can't use this (for their developers will whine
about GConf until we will all starve to death of it)
Option three: +s root binary that can alter the Samba configuration but
does some security-checks first.
pro: You can still create a silly daemon for this that will launch
the tool, and it's usable for really any desktop. Even without
a CORBA implementation.
contra: Yet another +s binary. You can also create such a silly
commandline tool for the daemon-option. Or you could use silly
gconftool-2 for the GConf option.
Option four: Let the Samba people do it
pro: They won't hate you because they think you made their secured-
software insecure by proxying their configuration.
contra: You will probably have to wait for ever until this stupid small
software/feature is created.
For sure: Alter software like nautilus to have popupmenus and property-
pages for folder-sharing. And let these softwares talk or CORBA with the
daemon, or GConf, or let it launch the +s tool.
For sure: Listen to developers of other desktops that you are an idiot
because you didn't use (their) technology x which is superior to
technology y for the stupid reason z.
--
Philip Van Hoof, Software Developer @ Cronos
home: me at freax dot org
gnome: pvanhoof at gnome dot org
work: philip dot vanhoof at cronos dot be
junk: philip dot vanhoof at gmail dot com
http://www.freax.be, http://www.freax.eu.org