Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HTTPD::GroupAdmin(3)  User Contributed Perl Documentation HTTPD::GroupAdmin(3)

NAME
       HTTPD::GroupAdmin - Management of HTTP server group databases

SYNOPSIS
	   use HTTPD::GroupAdmin ();

DESCRIPTION
       This software is	meant to provide a generic interface that hides	the
       inconsistencies across HTTP server implementations of user and group
       databases.

METHODS
       new ()
	   Here's where	we find	out what's different about your	server.

	   Some	examples:

	       @DBM = (DBType => 'DBM',
		       DB     => '.htgroup',
		       Server => 'apache');

	       $group =	new HTTPD::GroupAdmin @DBM;

	   This	creates	an object whose	database is a DBM file named
	   '.htgroup', in a format that	the Apache server understands.

	       @Text = (DBType => 'Text',
			DB     => '.htgroup',
			Server => 'ncsa');

	       $group =	new HTTPD::GroupAdmin @Text;

	   This	creates	an object whose	database is a plain text file named
	   '.htgroup', in a format that	the NCSA server	understands.

	   Full	list of	constructor attributes:

	   Note: Attribute names are case-insensitive

	   Name	   - Group name

	   DBType  - The type of database, one of 'DBM', 'Text', or 'SQL'
	   (Default is 'DBM')

	   DB	   - The database name (Default	is '.htpasswd' for DBM & Text
	   databases)

	   Server  - HTTP server name (Default is the generic class, that
	   works with NCSA, Apache and possibly	others)

	   Note: run 'perl t/support.t matrix' to see what support is
	   currently availible

	   Path	   - Relative DB files are resolved to this value  (Default is
	   '.')

	   Locking - Boolean, Lock Text	and DBM	files (Default is true)

	   Debug   - Boolean, Turn on debug mode

	   Specific to DBM files:

	   DBMF	   - The DBM file implementation to use	(Default is 'NDBM')

	   Flags   - The read, write and create	flags.	There are four modes:
	   rwc - the default, open for reading,	writing	and creating.  rw -
	   open	for reading and	writing.  r - open for reading only.  w	- open
	   for writing only.

	   Mode	   - The file creation mode, defaults to '0644'

	   Specific to DBI: We talk to an SQL server via Tim Bunce's DBI
	   interface. For more info see:
	   http://www.hermetica.com/technologia/DBI/

	   Host	     - Server hostname

	   Port	     - Server port

	   User	     - Database	login name

	   Auth	     - Database	login password

	   Driver    - Driver for DBI  (Default	is 'mSQL')

	   GroupTable -	Table with field names below

	   NameField - Field for the name  (Default is 'user')

	   GroupField -	Field for the group  (Default is 'group')

	   From	here on	out, things should look	the same for everyone.

       add($username[,$groupname])
	   Add user $username to group $groupname, or whatever the 'Name'
	   attribute is	set to.

	   Fails if $username exists in	the database

	       if($group->add('dougm', 'www-group')) {
		   print "Welcome!\n";
	       }

       delete($username[,$groupname])
	   Delete user $username from group $groupname,	or whatever the	'Name'
	   attribute is	set to.

	       if($group->delete('dougm')) {
		   print "He's gone from the group\n";
	       }

       exists($groupname, [$username])
	   True	if $groupname is found in the database

	       if($group->exists('web-heads')) {
		   die "oh no!";
	       }
	       if($group->exists($groupname, $username)	{
		   #$username is a member of $groupname
	       }

       list([$groupname])
	   Returns a list of group names, or users in a	group if '$name' is
	   present.

	   @groups = $group->list;

	   @users = $group->list('web-heads');

       user()
	   Short cut for creating an HTTPD::UserAdmin object.  All applicable
	   attributes are inherited, but can be	overridden.

	       $user = $group->user();

	   (See	HTTPD::UserAdmin)

       convert(@Attributes)
	   Convert a database.

	       #not yet

       remove($groupname)
	   Remove group	$groupname from	the database

       name($groupname)
	   Change the value of 'Name' attribute.

	       $group->name('bew-ediw-dlrow');

       debug($boolean)
	   Turn	debugging on or	off

       lock([$timeout])	=item unlock()
	   These methods give you control of the locking mechanism.

	       $group =	new HTTPD::GroupAdmin (Locking => 0); #turn off	auto-locking
	       $group->lock; #lock the object's	database
	       $group->add($username,$passwd); #write while database is	locked
	       $group->unlock; release the lock

       db($dbname);
	   Select a different database.

	       $olddb =	$group->db($newdb);
	       print "Now we're	reading	and writing '$newdb', done with	'$olddb'n\";

       flags([$flags])
	   Get or set read, write, create flags.

       commit
	   Commit changes to disk (for Text files).

SEE ALSO
       HTTPD::UserAdmin(3)

AUTHOR
       Doug MacEachern <dougm@osf.org>

       Copyright (c) 1996, 1997	Doug MacEachern

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2003-01-16		  HTTPD::GroupAdmin(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTTPD::GroupAdmin&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help