setools/README.md

122 lines
3.6 KiB
Markdown
Raw Normal View History

# SETools: Policy analysis tools for SELinux
2015-03-31 14:02:43 +00:00
https://github.com/TresysTechnology/setools/wiki
2014-07-08 18:28:55 +00:00
2015-03-31 14:02:43 +00:00
## Overview
2014-07-08 18:28:55 +00:00
This file describes SETools, developed by Tresys Technology. SETools
is a collection of graphical tools, command-line tools, and libraries
designed to facilitate SELinux policy analysis. Please consult the
KNOWN-BUGS file prior to reporting bugs.
2015-03-31 14:02:43 +00:00
## Installation
2014-07-08 18:28:55 +00:00
SETools uses the Python setuptools build system to build, and install.
2014-11-14 03:16:08 +00:00
As such it contains a setup.py script that will install the tools.
2014-07-08 18:28:55 +00:00
To run SETools, the following packages are required:
2015-03-31 14:02:43 +00:00
* Python 2.7 or 3.3+
* NetworkX 1.8+
* setuptools
* libselinux
* libbz2
2014-07-08 18:28:55 +00:00
To build SETools, the following development packages are required, in
addition to the development packages from the above list:
2015-03-31 14:02:43 +00:00
* gcc
* bison
* flex
* libsepol 2.4+
* SWIG 2.0.12+ or 3.0+
To run SETools unit tests, the following packages are required, in
addition to the above dependencies:
2015-03-31 14:02:43 +00:00
* mock (on Python 2.7 only)
* tox (optional)
### Building SETools
2014-07-08 18:28:55 +00:00
Unpack the official distribution or check out the git repository,
and perform the following at the root:
2015-03-31 14:02:43 +00:00
```
2014-07-08 18:28:55 +00:00
$ python setup.py build
$ python setup.py install
2015-03-31 14:02:43 +00:00
```
2014-07-08 18:28:55 +00:00
This will put the applications in /usr/bin, data files in /usr/share/setools,
2014-10-25 01:23:13 +00:00
and libraries in /usr/lib/pythonX.Y/site-packages/setools.
2014-07-08 18:28:55 +00:00
2015-03-31 14:02:43 +00:00
### Installation Options
2014-07-08 18:28:55 +00:00
Please see `python setup.py --help` or `python setup.py install --help`
for up-to-date information on build and install options, respectively.
2015-03-31 14:02:43 +00:00
### Unit Tests
2014-07-08 18:28:55 +00:00
One goal for SETools is to provide confidence in the validity of the
output for the tools. The unit tests for SETools can be run with
the following command
2015-03-31 14:02:43 +00:00
```
2014-07-08 18:28:55 +00:00
$ python setup.py test
2015-03-31 14:02:43 +00:00
```
2014-07-08 18:28:55 +00:00
2015-03-31 14:02:43 +00:00
## Features
2014-07-08 18:28:55 +00:00
SETools encompasses a number of tools, both graphical and command
line, and libraries. Many of the programs have help files accessible
during runtime.
2015-03-31 14:02:43 +00:00
### Graphical tools
2014-07-08 18:28:55 +00:00
TBD
2015-03-31 14:02:43 +00:00
### Command-line tools
2014-07-08 18:28:55 +00:00
Some tools in the SETools suite may be run in a terminal
environment.
2015-03-31 14:02:43 +00:00
Tool Name | Description
---------- | ------------------------------------------------------
sedta | A tool to perform domain transition analysis.
seinfo | A tool to get a list of policy components.
seinfoflow | A tool to perform information flow analysis.
sesearch | A tool to search rules (allow, type_transition, etc.)
2014-07-08 18:28:55 +00:00
2015-03-31 14:02:43 +00:00
### Analysis Libraries
2014-07-08 18:28:55 +00:00
The SETools libraries are available for use in third-party
applications. Although this is are not officially supported (and thus
2014-07-08 18:28:55 +00:00
subject to change between SETools releases), we will do our best to
maintain API stability.
2015-03-31 14:02:43 +00:00
### Obtaining SETools
2014-07-08 18:28:55 +00:00
2014-11-14 03:16:08 +00:00
Official releases of SETools may be freely downloaded from:
2014-07-08 18:28:55 +00:00
2014-11-14 03:16:08 +00:00
https://github.com/TresysTechnology/setools/releases
SETools source code is maintained within a GitHub repository.
2014-07-08 18:28:55 +00:00
From the command line do:
2015-03-31 14:02:43 +00:00
```
2014-07-08 18:28:55 +00:00
$ git clone https://github.com/TresysTechnology/setools.git
2015-03-31 14:02:43 +00:00
```
2014-11-14 03:16:08 +00:00
You may also browse the GitHub repository at
2014-07-08 18:28:55 +00:00
https://github.com/TresysTechnology/setools.
2015-03-31 14:02:43 +00:00
SETools included in most Linux distributions which support
SELinux, such as Fedora, Red Hat Enterprise Linux, Gentoo,
2014-07-08 18:28:55 +00:00
and Debian.
2015-03-31 14:02:43 +00:00
### Reporting bugs
2014-07-08 18:28:55 +00:00
2014-11-14 03:16:08 +00:00
Bugs can be reported in the SETools GitHub issues tracker:
https://github.com/TresysTechnology/setools/issues
2014-07-08 18:28:55 +00:00
2015-03-31 14:02:43 +00:00
### Copyright license
2014-07-08 18:28:55 +00:00
The intent is to allow free use of this source code. All programs'
source files are copyright protected and freely distributed under the
GNU General Public License (see COPYING.GPL). All library source
files are copyright under the GNU Lesser General Public License (see
COPYING.LGPL). All files distributed with this package indicate the
appropriate license to use. Absolutely no warranty is provided or implied.