Ultimately Safe User Account

Alex de Kruijff freebsd at akruijff.dds.nl
Thu Sep 23 18:35:10 PDT 2004

Hi Andrey,

On Thu, Sep 23, 2004 at 11:30:06PM +0400, Andrew wrote:
> Hi,
> I have a production FreeBSD box. My friend is starting to learn Unix
> essentials and is asking me for an account. He doesn't require any
> special rights, but he certainly wants to be able to use shell and read
> most manual pages. He'll access the server via Internet, SSH.

Don't add him to the group wheel. If you paranoid then you can use one
time passwords. (I only use this for persons with in the group wheel,
and then only for non-ssh.)

> How can I create an account, so that it is completely safe to let him
> in? How can I jail/chroot him and do I need to do it this way? I want to
> limit everything: disk space (~500Mb), RAM (~10%), processes (~30), cpu
> (~5-10%), _internet connectivity_ (bandwidth is expensive and he must
> not be able to download much). He is new to Unix but I have to suppose
> that somebody very experienced can steal his account info.

I don't think you need to use jail/chroot. You can limit the use of HD,
RAM and CPU with quota's
1. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/quotas.html
2.  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls.html

And limit bandwith with ipfw & dummynet. 
1. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls.html
2. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls.html
3. man ipfw

Set your firewall so that it allows everthing out and nothing in exept
ssh or http.

If you like to have this so that he can use 100% for a short time and
something like 20% then you can do this with a combination of ipfw &
dummynet & ipa (a port). I have tree half finished article about this.
The above is handy to read before these.

> I'd be glad if he had only very basic ls, cp, mv, as well as sh and vi.
> I don't want him to have any browser or fetch-like utility.

This be done with jail/chroot.

> I know that letting somebody log in is already a security hole, but I
> want to minimize the risks.


Articles based on solutions that I use:

More information about the freebsd-questions mailing list