Nick Daly 065c25039a Rewrote actions/privilegedactions.py to be less exploitable.
I'm sure there are still some exploits in the code, but there are
certainly fewer now.  Instead of just executing whatever arguments are
passed into privilegedactions.privilegedaction_run, we now limit the
actions that can be run in the following ways:

- Only actions that exist in the actions directory can be executed.
  Attempting to run the action "echo; rm -rf /" will look for a file
  named "actions/echo; rm -rf /", of which there are none.

- Shell literals are escaped: attempting to run the "echo" action with
  options like "'hi'; rm -rf /") will echo "'hi'; rm -rf /".

- It is difficult to interact with the spawned process through this
  interface.  We can't control whether the spawned process allows
  interaction.

The details of the contract are included in privilegedactions.py, and
this contract is tested in privilegedactions_test.py.
2013-10-27 10:46:06 -05:00
2013-04-23 17:49:22 -05:00
2013-03-23 22:05:17 -05:00
2013-04-23 17:49:22 -05:00
2013-09-08 17:31:27 -05:00
2013-04-23 17:49:22 -05:00
2013-04-23 17:49:22 -05:00
2013-10-18 17:03:27 -05:00
2013-09-08 17:31:27 -05:00
2013-04-23 17:49:22 -05:00
2013-04-23 17:49:22 -05:00

% PLINTH(1) Version 0.1 | Plinth User Manual
%
% February 2011

# Introduction

## Name

plinth - a web front end for administering every aspect of a Freedom Box.

## Synopsis

plinth.py

## Description

The Freedom Box is a net appliance conceived by Eben Moglen.  It
contains free software and is designed to allow you to interface with
the rest of the net under conditions of protected privacy and data
security.

The Plinth front end is a web interface to administer the functions of
the Freedom Box.  For example, the Freedom Box is a wireless router,
and the front end is where you can adjust its settings.

## Overview

The front end is an extensible web platform for forms and menus.  It
allows authenticated users to fill out forms.  The interface saves the
form data and from them generates configuration files for the various
services running on the box.

The interface is pluggable.  Drop modules into place to add new
capabilities to Plinth and your Freedom Box.  Replace existing modules
to get newer, better shinier functions.  The modules will
automatically integrate into the existing menu system so you can
control all of the box's parts from one central location.

The interface will eventually have a 'basic' and an 'expert' mode.  In
basic mode, much of Plinth's configuration and capability are hidden.
Sane defaults are chosen whenever possible.  In expert mode, you can
get down into the details and configure things the average user never
thinks about.  For example, experts can turn off ntp or switch ntp
servers.  Basic users should never even know those options exist.

## Getting Started

See the INSTALL file for additional details.  Run:

    $ make

Once make finishes, run Plinth on the local system with:

    $ bash start.sh
Description
Easy to manage, privacy oriented home server. Read-only mirror of https://salsa.debian.org/freedombox-team/freedombox
Readme
Languages
Python 84.2%
HTML 9.4%
JavaScript 4%
CSS 1.1%
Augeas 0.7%
Other 0.4%