Re: EXIM, LDAP and some pop3 stuff?

2002-01-13 Thread Martin 'pisi' Paljak
Maybe something like etcfs could be quite fun?


-- 
Martin 'pisi' Paljak / freelancer consultant
[EMAIL PROTECTED] / +37255600994
www.pisitek.com






Re: EXIM, LDAP and some pop3 stuff?

2002-01-13 Thread Emile van Bergen
On Sun, 13 Jan 2002, Donovan Baarda wrote:

[SNIP]
> Note that backwards compatability with existing config files has lead to the
> /etc directory changing roles. Once upon a time this dir contained files
> that admins edited directly. Increasingly, editing these files directly is
> becoming "not the right way to do it", with tools like adduser and
> update-, becoming the new admin interface. I don't know
> if these are helping much becase these tools themselves are not that
> consistant. The /etc directory is becoming like an add-hock config database
> with a mish-mash of storage formats and multiple inconsistant access API's.

True. The problem with a lot of unix configuration files is that they
were intended to only be *read* by the programs that use them, not
*written*. And that still shows in their format, which is generally much
easier to read than to update in an automated fashion.

Also, a difficulty with line-oriented ASCII files is that their records
have variable length, and updating such records is relatively hard. This
of course stems from the fact that Unix only offers files as streams,
not records - which is generally a good thing, IMHO, but it makes things
a bit cumbersome in this case.

The next problem is the general problem of different programs
communicating together. If the program or package to which a
configuration file belongs does not implement write support, and
changing a configuration is done by a different program, then the
configuration effectively file becomes a protocol. Sadly, most formats
were not exactly designed with the robustness of a real protocol in
mind.

Defining a standard presentation for configuration data, so that
readers and writers at least agree on syntax, is not a bad idea, I think.
Of course, as with a real protocol, it should be relatively easy to
write implementations. To *require* a particular library or API because
implementation is complex will cause it to become an evolutionary dead
end at some point.

I definitely don't think we should have a fragile, binary heap of
pointers - a filesystem-on-a-filesystem like the windows registry does
*not* seem to be a good idea. Lots of small real files are not the
fastest thing in the world on most Unix filesystems though, so it seems
we need some compromise until everybody starts using ReiserFS or
something like that. 

But again, I'd definitely object to having the whole configuration tree
in a single file. That would be wasting a perfectly good hierarchical DB
already offered by Unix - the filesystem. The modern cron.d / modutils /
ip-up.d etc. approach over single files shows how much write support can
already be made much easier by taking advantage of it.

Perhaps DBM or something similar, like djb's cdb format could be an
option. Using a separate file per 'table' lowers the risk of binary
files a bit, and the filesystem could be used to store these tables in a
nice hierarchical fashion. It's not that ideal perhaps, but IMHO better
than a windows registry, XML or even LDAP. The latter is a nice idea,
but I really think the configuration hierarchy should be reflected in
the unix filesystem, not hidden inside a database. I'd like to manage
data by simply copying it around, using tar, rsync, etc.

In any case, I really think that this problem should be approached as
designing a protocol: put the smarts in the data, not the code; make
it robust and extensible, and easy to implement support for - from
scratch if needed.

Cheers,


Emile.

--
E-Advies / Emile van Bergen   |   [EMAIL PROTECTED]
tel. +31 (0)70 3906153|   http://www.xs4all.nl/~evbergen/




Re: EXIM, LDAP and some pop3 stuff?

2002-01-13 Thread Martin 'pisi' Paljak

Maybe something like etcfs could be quite fun?


-- 
Martin 'pisi' Paljak / freelancer consultant
[EMAIL PROTECTED] / +37255600994
www.pisitek.com




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: EXIM, LDAP and some pop3 stuff?

2002-01-13 Thread Emile van Bergen

On Sun, 13 Jan 2002, Donovan Baarda wrote:

[SNIP]
> Note that backwards compatability with existing config files has lead to the
> /etc directory changing roles. Once upon a time this dir contained files
> that admins edited directly. Increasingly, editing these files directly is
> becoming "not the right way to do it", with tools like adduser and
> update-, becoming the new admin interface. I don't know
> if these are helping much becase these tools themselves are not that
> consistant. The /etc directory is becoming like an add-hock config database
> with a mish-mash of storage formats and multiple inconsistant access API's.

True. The problem with a lot of unix configuration files is that they
were intended to only be *read* by the programs that use them, not
*written*. And that still shows in their format, which is generally much
easier to read than to update in an automated fashion.

Also, a difficulty with line-oriented ASCII files is that their records
have variable length, and updating such records is relatively hard. This
of course stems from the fact that Unix only offers files as streams,
not records - which is generally a good thing, IMHO, but it makes things
a bit cumbersome in this case.

The next problem is the general problem of different programs
communicating together. If the program or package to which a
configuration file belongs does not implement write support, and
changing a configuration is done by a different program, then the
configuration effectively file becomes a protocol. Sadly, most formats
were not exactly designed with the robustness of a real protocol in
mind.

Defining a standard presentation for configuration data, so that
readers and writers at least agree on syntax, is not a bad idea, I think.
Of course, as with a real protocol, it should be relatively easy to
write implementations. To *require* a particular library or API because
implementation is complex will cause it to become an evolutionary dead
end at some point.

I definitely don't think we should have a fragile, binary heap of
pointers - a filesystem-on-a-filesystem like the windows registry does
*not* seem to be a good idea. Lots of small real files are not the
fastest thing in the world on most Unix filesystems though, so it seems
we need some compromise until everybody starts using ReiserFS or
something like that. 

But again, I'd definitely object to having the whole configuration tree
in a single file. That would be wasting a perfectly good hierarchical DB
already offered by Unix - the filesystem. The modern cron.d / modutils /
ip-up.d etc. approach over single files shows how much write support can
already be made much easier by taking advantage of it.

Perhaps DBM or something similar, like djb's cdb format could be an
option. Using a separate file per 'table' lowers the risk of binary
files a bit, and the filesystem could be used to store these tables in a
nice hierarchical fashion. It's not that ideal perhaps, but IMHO better
than a windows registry, XML or even LDAP. The latter is a nice idea,
but I really think the configuration hierarchy should be reflected in
the unix filesystem, not hidden inside a database. I'd like to manage
data by simply copying it around, using tar, rsync, etc.

In any case, I really think that this problem should be approached as
designing a protocol: put the smarts in the data, not the code; make
it robust and extensible, and easy to implement support for - from
scratch if needed.

Cheers,


Emile.

--
E-Advies / Emile van Bergen   |   [EMAIL PROTECTED]
tel. +31 (0)70 3906153|   http://www.xs4all.nl/~evbergen/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: EXIM, LDAP and some pop3 stuff?

2002-01-13 Thread Donovan Baarda
On Sat, Jan 12, 2002 at 03:23:18PM +0100, Florian Bantner wrote:
> On Sam, 12 Jan 2002, Peter Billson wrote:
> 
> > > But I think this is an inherent UNIX / LDAP problem. LDAP seems
> > > a very powerful tool doing for UNIX everything the 'Regestry' has
> > > done for windows - and more. Whats missing here is some standardized
> > > way of how to do it.
> > 
> >   Now there is something to strive for. One monolithic, incomprehensible
> > mess that will cause your entire system to stop functioning if one byte
> > is out of order.
> >   If using a Windows-like registry is "fixing" it, I'll keep the *nix's
> > "broken" method, thank you. 

Unix might crap all over windoze for servers and server admin, but rather
than just dis the oposition, it pays to focus on your own weaknesses and
address them regardless.

I thoroughly agree that the biggest problem at the moment with unix is a
lack of consistancy. This affects everything right through from all the
standard unix components, through servers, to desktop. 

I also believe that a "registry" is a good way to make configuration
consistant, and does not deserve the bad name MS has given it. In typical
Unix/Free/Open fashion, many have consiously or subconsiously recognised
this and have created many implementations in various ways.

The biggest problem is designing and introducing something without breaking
all that has gone before... qmail.

The following is a random list of some stuff that might be relevant.
 I have not used all of these and have only briefly looked at
some .

LDAP - a directory service that is the ideal place to store config info for
networked access. 

debconf - on a deb-isp list everyone should know this one. Claims to be
designed for various backends, so in theory could use LDAP backend. However,
is probably not ready for multiple machines, which really needs things like
host catagories/classes with deltas/inheritance for specific machines.

gconf - The GNOME answer to the registry. Is primarily designed for desktop
apps to store global and user prefs, but in theory could be used for other
things. Probably has a nasty CORBA based interface, but should be well
designed for network operation. 

cfengine - not really a registry service, but was designed for rapid
configuration of multiple machines. I believe it's perl and works by using
a centralised definition file for constants that are expanded in templates
for standard config files. I think it allows for classes of hosts and only
requires deltas for specific machines. Apparently it is difficult to set up,
but once you have it makes configuring machines a breeze.

webmin - also not a registry service, but provides a consistant modular
web interface to manipulate standard config files. It does seem to have some
multi-host support, but I'm not sure if it allows things like host classes
and deltas.

cvs/prcs - not a registry, but still a neat way to control configs for
multiple machines. The whole /etc directory can be made a project, with
different machines treated as different branches. In particular, prcs's easy
branch/merge management makes it easy-ish treating different host classes as
branches, merging common changes for different classes and hosts. Gives the
added bonus of complete revision control.

I think something like gconf with an LDAP backend, probaby using cfengine to
generate the standard config files, would be ideal. Store the cfengine host
class/delta info in LDAP, throw in revision control of the LDAP contents,
add a web interface, and you'd have something really nice :-) 

Note that backwards compatability with existing config files has lead to the
/etc directory changing roles. Once upon a time this dir contained files
that admins edited directly. Increasingly, editing these files directly is
becoming "not the right way to do it", with tools like adduser and
update-, becoming the new admin interface. I don't know
if these are helping much becase these tools themselves are not that
consistant. The /etc directory is becoming like an add-hock config database
with a mish-mash of storage formats and multiple inconsistant access API's.

-- 
--
ABO: finger [EMAIL PROTECTED] for more info, including pgp key
--




Re: xinetd /etc/host.deny ALL:PARANOID

2002-01-13 Thread Nathan E Norman
On Sat, Jan 12, 2002 at 11:31:51AM +0100, Christian Kurz wrote:
[ snip ]
> > Everything that is possible is not necessarily a good idea.
> 
> So far I agree with you.
> 
> > However, I must admit I was talking from memory; I'm travelling at the
> > moment and don't have time to read the RFCs, but I am sure you won't
> > find the statement there.  I am sure I read it somewhere, perhaps
> > Cricket Liu's book, I don't remember.  it made a strong impression on
> > me as a "Best Practice".  If you are offended by such a categorization
> > ...
> 
> It has nothing to do with categorization. But you talked about an
> incorrectly set up DNS and that's wrong. The DNS example that Martin
> used by not have been a good choice or good pratice, but it was correct
> according to the RfCs. So I'm not offended by categorization, which also
> should be avoided, but I was annoyed about your statement "you just set
> up your DNS incorrectly".

Ok, "you've done something stupid that is, however, allowed by the
RFCs."  Is that better? :)

Regards,

-- 
Nathan Norman - Staff Engineer | A good plan today is better
Micromuse Ltd. | than a perfect plan tomorrow.
mailto:[EMAIL PROTECTED]   |   -- Patton


pgpz1Vf10l9ro.pgp
Description: PGP signature


Re: EXIM, LDAP and some pop3 stuff?

2002-01-13 Thread Donovan Baarda

On Sat, Jan 12, 2002 at 03:23:18PM +0100, Florian Bantner wrote:
> On Sam, 12 Jan 2002, Peter Billson wrote:
> 
> > > But I think this is an inherent UNIX / LDAP problem. LDAP seems
> > > a very powerful tool doing for UNIX everything the 'Regestry' has
> > > done for windows - and more. Whats missing here is some standardized
> > > way of how to do it.
> > 
> >   Now there is something to strive for. One monolithic, incomprehensible
> > mess that will cause your entire system to stop functioning if one byte
> > is out of order.
> >   If using a Windows-like registry is "fixing" it, I'll keep the *nix's
> > "broken" method, thank you. 

Unix might crap all over windoze for servers and server admin, but rather
than just dis the oposition, it pays to focus on your own weaknesses and
address them regardless.

I thoroughly agree that the biggest problem at the moment with unix is a
lack of consistancy. This affects everything right through from all the
standard unix components, through servers, to desktop. 

I also believe that a "registry" is a good way to make configuration
consistant, and does not deserve the bad name MS has given it. In typical
Unix/Free/Open fashion, many have consiously or subconsiously recognised
this and have created many implementations in various ways.

The biggest problem is designing and introducing something without breaking
all that has gone before... qmail.

The following is a random list of some stuff that might be relevant.
 I have not used all of these and have only briefly looked at
some .

LDAP - a directory service that is the ideal place to store config info for
networked access. 

debconf - on a deb-isp list everyone should know this one. Claims to be
designed for various backends, so in theory could use LDAP backend. However,
is probably not ready for multiple machines, which really needs things like
host catagories/classes with deltas/inheritance for specific machines.

gconf - The GNOME answer to the registry. Is primarily designed for desktop
apps to store global and user prefs, but in theory could be used for other
things. Probably has a nasty CORBA based interface, but should be well
designed for network operation. 

cfengine - not really a registry service, but was designed for rapid
configuration of multiple machines. I believe it's perl and works by using
a centralised definition file for constants that are expanded in templates
for standard config files. I think it allows for classes of hosts and only
requires deltas for specific machines. Apparently it is difficult to set up,
but once you have it makes configuring machines a breeze.

webmin - also not a registry service, but provides a consistant modular
web interface to manipulate standard config files. It does seem to have some
multi-host support, but I'm not sure if it allows things like host classes
and deltas.

cvs/prcs - not a registry, but still a neat way to control configs for
multiple machines. The whole /etc directory can be made a project, with
different machines treated as different branches. In particular, prcs's easy
branch/merge management makes it easy-ish treating different host classes as
branches, merging common changes for different classes and hosts. Gives the
added bonus of complete revision control.

I think something like gconf with an LDAP backend, probaby using cfengine to
generate the standard config files, would be ideal. Store the cfengine host
class/delta info in LDAP, throw in revision control of the LDAP contents,
add a web interface, and you'd have something really nice :-) 

Note that backwards compatability with existing config files has lead to the
/etc directory changing roles. Once upon a time this dir contained files
that admins edited directly. Increasingly, editing these files directly is
becoming "not the right way to do it", with tools like adduser and
update-, becoming the new admin interface. I don't know
if these are helping much becase these tools themselves are not that
consistant. The /etc directory is becoming like an add-hock config database
with a mish-mash of storage formats and multiple inconsistant access API's.

-- 
--
ABO: finger [EMAIL PROTECTED] for more info, including pgp key
--


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]




Re: xinetd /etc/host.deny ALL:PARANOID

2002-01-13 Thread Nathan E Norman

On Sat, Jan 12, 2002 at 11:31:51AM +0100, Christian Kurz wrote:
[ snip ]
> > Everything that is possible is not necessarily a good idea.
> 
> So far I agree with you.
> 
> > However, I must admit I was talking from memory; I'm travelling at the
> > moment and don't have time to read the RFCs, but I am sure you won't
> > find the statement there.  I am sure I read it somewhere, perhaps
> > Cricket Liu's book, I don't remember.  it made a strong impression on
> > me as a "Best Practice".  If you are offended by such a categorization
> > ...
> 
> It has nothing to do with categorization. But you talked about an
> incorrectly set up DNS and that's wrong. The DNS example that Martin
> used by not have been a good choice or good pratice, but it was correct
> according to the RfCs. So I'm not offended by categorization, which also
> should be avoided, but I was annoyed about your statement "you just set
> up your DNS incorrectly".

Ok, "you've done something stupid that is, however, allowed by the
RFCs."  Is that better? :)

Regards,

-- 
Nathan Norman - Staff Engineer | A good plan today is better
Micromuse Ltd. | than a perfect plan tomorrow.
mailto:[EMAIL PROTECTED]   |   -- Patton



msg04840/pgp0.pgp
Description: PGP signature