Path: usenet.cise.ufl.edu!newsfeeds.nerdc.ufl.edu!newsfeeds.nerdc.ufl.edu!news.magicnet.net!gulfsouth.verio.net!demos!newsfeed.gamma.ru!Gamma.RU!newsfeed.direct.ca!newsfeed.corridex.com!ameritech.ais.net!jamie!ais.net!ameritech.net!uunet!uunet!in1.uu.net!news.neta.com!not-for-mail
From: Tim Potter <
[email protected]>
Newsgroups: comp.lang.perl.announce,comp.lang.perl.modules
Subject: ANNOUNCE: Config::Access 0.01
Followup-To: comp.lang.perl.modules
Date: 23 Sep 1998 00:02:09 GMT
Organization: Cooperative Research System for Advanced Computational Systems
Lines: 77
Approved:
[email protected] (comp.lang.perl.announce)
Message-ID: <
[email protected]>
NNTP-Posting-Host: gadget.cscaper.com
X-Trace: news.neta.com 906508929 23797 206.67.186.3 (23 Sep 1998 00:02:09 GMT)
X-Complaints-To:
[email protected]
NNTP-Posting-Date: 23 Sep 1998 00:02:09 GMT
X-Disclaimer: The "Approved" header verifies header information for article transmission and does not imply approval of content.
Xref: usenet.cise.ufl.edu comp.lang.perl.announce:134 comp.lang.perl.modules:4302
Announcing Config::Access, a perl module for simple text-file based
access control based on the TCP wrappers access control language.
Available soon from a CPAN near you.
Basically this module is a side-effect of a project I did at work.
Hopefully someone else will find it useful.
Tim.
NAME
Config::Access - Perform simple access control
SYNOPSIS
use strict; # not optional (-:
use Config::Access;
DESCRIPTION
The Config::Access module provides a method of
authenticating arbitrary client/service pairs in a way
very similar to that provided by the TCP wrappers by
Wietse Venema <
[email protected]>.
This module can be useful for restricting access to
certain parts of a script to a certain domain. For
example, a front end program to some device might deny
certain users access to certain commands or only allow
trusted users access to dangerous commands.
The access control language is very similar to the access
control language specified in hosts_access(5) for the TCP
wrappers. Two configuration files specify access rules.
A file ending in .allow specifies rules to allow access
and a file ending in .deny specifies rules to deny access.
The prefix of these files is specified when a
Config::Access object is created.
ACCESS CONTROL FILES
As per the TCP wrappers, a request for authorisation
consults the .allow and .deny files. The search stops at
the first match.
o Access is granted if a $client/$service matches a rule
in the .allow file.
o Access is denied if a $client/$service matches a rule in
the .deny file.
o Otherwise, if no match is made access is granted.
ACCESS CONTROL RULES
Access control rules appear in the configuration files in
the following format.
service_list : client_list
Each item in a list is separated by a comma and optional
whitespace. Newlines and lines beginning with a '#'
character are ignored. A line may be continued if a
backslash character is present as the end of the line.
A service or client may be specified as the string 'ALL'
which means it will be matched by anything. An optional
parameter to the access_query method described below
allows the caller to determine whether the request was
granted (or denied) using a rule containing the ALL
wildcard.
Config::Access also supports IP address matching of
clients and services using the network/netmask number
format.
The EXCEPT operator present in the TCP wrappers access
control language is not supported.