Date: Thu, 30 May 2002 17:45:10 +0200 From: "Daniel Blankensteiner" <db@traceroute.dk> To: <freebsd-arch@freebsd.org> Subject: FreeBSD daemon configurations redesign Message-ID: <030001c207f0$fb79e390$6800a8c0@rafter>
next in thread | raw e-mail | index | archive | help
Hi all
I was just wondering, if we could start all over again, would we
design FreeBSD exactly the same way?
I mean by making the system more logical organized/structured and thereby
more
well-arranged, this should lead to a more easy to configure and thereby
more secure system, without reducing the power and opportunities
of the system. I am talking about giving daemons special treatment.
I know you are working on pulling the port and base system apart, but please
hear me out.
Let's take an example:
All services/daemons config files are in:
/etc/daemons/
and here you have:
/ftp
/ftp/users //Users whom may not login
/ftp/chroot //Users whom is chroot'ed
/ftp/hosts
/ftp/commands //commands which we don't want the user to have access
to (maybe like "syst")
/ftp/answer //Decide the text to the answers the server give the
client
/ftp/conf //The config file
Let us look at 2 of the files:
/etc/daemons/ftp/conf
#The FTP config file
Allow_anonymous_access="n"
Log_anonymous_transfers="n"
Ftp_log_file="/var/log/ftpd"
Log_connection_fail="y"
Log_connections_success="y"
Log_command_get="n"
Log_command_put="y" //This way you can log the commands you want
and so on........
#end
/etc/daemons/ftp/answer
#The FreeBSD ftp answer file
Gretting_message="Welcome the FreeBSD's FTP server" //no need for
/ect/ftpwelcome
When_logged_in="You are now logged in your home dir" //no need for
/ect/ftpmodt
Answer_command_syst="Windows NT ;-P" //replies with that text, when the
client send that command
Answer_command_error="Say what?"
#end
Almost the same with fx pop3
/pop3
/pop3/answer
/pop3/users
/pop3/commands
/pop3/conf
and so on.
Or maybe also a user access file, to control all the login services:
/ect/daemons/login.conf
This file is "like" /etc/login.conf, meaning you can set permissions for a
group,
user or default, telling the system where the user may login.
The file should look like this:
#Please "x" those services where the users may login
default:
POP3=""
Imap="X"
ssh_password="X"
ssh_key="x"
ssh_sftp="x"
telnet=""
ftp=""
Next come permissions for special users or groups, centralized
control, making the system more easy to configure and more secure.
May also a
/ect/daemons/statup
Here you can "X" all the services you want to start at boot time.
I know you do this in /etc/rc.* and /usr/local/etc/rc.d/*.sh
But regarding daemons this should for security reasons, only
be done from /ect/daemons/statup
A main daemons log file?
/etc/daemons/log
But it is probably better to use /etc/daemons/"TheService"/conf
We should learn from other system like solaris, linux and especially
the Hurd, even though I think FreeBSD is the best system in the world,
there should always be room for new thinking. E.g. should all daemons
run as a special user (which only control that service) in jail, I know that
the way FreeBSD is now,
this is not possible, but then we have to make it possible.
Anyway, this is just what I think could make FreeBSD a better
system, so this is not a well thought out plan ready to implemented *G* :-)
I have a lot of ideas how logging, daemons and configuration, can become
more centralized and
thereby more easy to run, but I am just a user so I have no power regarding
FreeBSD's
development and design..but maybe you also think this is the way to go?
br
db
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?030001c207f0$fb79e390$6800a8c0>
