Skip to content
This repository has been archived by the owner on Jan 25, 2019. It is now read-only.

saeidw/Agros

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##################################
#  AGROS - The New Limited Shell #
##################################

    AGROS is my implementation in C of the Limited Shell (lshell). Lshell is a project
    developed by ghantoos (mouzannar@gmail.com), The project consists of a UNIX shell
    coded in Python, that restricts users to a set of predefined commands. You can find
    the original project here:

    http://lshell.ghantoos.org.

    AGROS aims at implementing lshell in C. The idea being to get rid of certain
    limitations of Python, namely:

    - The availability of the Python interpreter on a machine.
    - Versions management. (Lshell does not yet support Python 3)
    - Performance issues, most notably on embedded systems.

    This is why AGROS is rightfully named AGROS Got Rid Of the Snake. I'm pretty
    proud of that name :)

    The way it works is that the administrator defines a certain list of commands the user
    can execute. It's a restrictive shell used for security puproses.



Latest Release:
###############
    * Release Name: agros-0.3.2
    * Release Date: 01/10/2011


Dependencies:
############

    These are available as packaged binaries for Debian. I haven't tried them on
    other Unices.

    * pkg-config
    * libglib2.0-dev


Install:
########

    You can compile the program by running "make". If the dependencies are present,
    it will create a binary executable named "agros" that can be directly runnable.

    If make is called without any arguments, then agros will look for a file called
    "agros.conf" in the current directory.

    You can give two command line arguments to make:

    - SYSCONFDIR:   Determines the directory where "agros.conf" is located. make will also
                    copy automatically the conf file to SYSCONFDIR

    - TARGETDIR:    Determines the directory where the executable will be moved.


Configuration:
##############

    There are five variables defined in the agros.conf file.

    - allowed: Gives a list of the allowed commands separated by a semi-colon ";"

    - forbidden: Defines a list of forbidden characters in the command line.

    - welcome (optional): Displays a welcome message

    - loglevel (optional): Defines the level of log sent to syslog

        0- No logging at all (default)
        1- Logging only prohibited commands
        2- Logging commands that returned an error
        3- Logging everything

    - warnings (optional): Sets a number of warnings that decreases every time the user
                enters a forbidden command. When warnings reach 0, AGROS exits.


Contact
#######

    If you want to contribute to this project, please do not hesitate.
    Since the project is still at its infancy, it'd be better if you contacted me
    at my email address:

    Joe "rahmu" HAKIM RAHME <joe.hakim.rahme@gmail.com>

About

Agros is a binary implementation in C of the limited shell (lshell)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%