Parental controls with different settings for different users
Solution 1:
Gnome Nanny
looks like it would meet the needs of your friends perfectly. To quote the website:
Gnome Nanny is an easy way to control what your kids are doing in the computer. You can limit how much time a day each one of them is browsing the web, chatting or doing email. You can also decide at which times of the day the can do this things. Gnome Nanny filters what web pages are seen by each user, so you can block all undesirable webs and have your kids enjoy the internet with ease of mind, no more worries!
As you can see, Nanny can set different restrictions for each account. nanny 2.29.4-0ubuntu4 is available in the maverick and natty universe repositories. It is also part of Edubuntu. Screenshots of Nanny running on Edubuntu are available on the Edubuntu website.
Solution 2:
DansGuardian ;-), but with a twist
-- the trick is to set up
transparent proxying (filtered by DansGuardian) and use iptables
to
redirect children's accounts only to the proxy. Parents would have
normal direct connection to the network.
Here's a sketch of how to do it:
Set up DansGuardian and Squid for transparent proxying. Ignore all the iptables/redir setup, because we're doing it in later steps.
-
Set up a netfilter chain for transparent proxying:
iptables -t nat -N transparent-proxy iptables -t nat -A transparent-proxy -p tcp --dport 80 -j DNAT --to-destination :8080
(Assuming you have configured DansGuardian to listen on port 8080.)
-
Now you should set up an
iptables
chain so that only packets originating from selected local accounts are sent to the transparent proxy; all the others flow undisturbed. Netfilter has aowner
match for this:iptables -t nat -A OUTPUT -m owner --uid-owner child_uid -j transparent-proxy
Solution 3:
There are several firefox addons that offer content filtering. I believe this is a good solution for what you want because browser extensions are installed on a per-user basis.
You can find such addons on the firefox addons site. An example of a content filtering extension is ProCon Latte.
Besides web safety, children should have a seperate non-administrator login, to prevent them doing system changing activities such as installing new software (such as a different browser to bypass the parental controls).