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

FreeBSD Manual Pages

  
 
  

home | help
GroupFile(3)	      User Contributed Perl Documentation	  GroupFile(3)

NAME
       Unix::GroupFile - Perl interface	to /etc/group format files

SYNOPSIS
	 use Unix::GroupFile;

	 $grp =	new Unix::GroupFile "/etc/group";
	 $grp->group("bozos", "*", $grp->maxgid	+ 1, @members);
	 $grp->remove_user("coolgrp", "bgates",	"badguy");
	 $grp->add_user("coolgrp", "joecool", "goodguy");
	 $grp->remove_user("*",	"deadguy");
	 $grp->passwd("bozos", $grp->encpass("newpass"));
	 $grp->commit();
	 undef $grp;

DESCRIPTION
       The Unix::GroupFile module provides an abstract interface to /etc/group
       format files.  It automatically handles file locking, getting colons
       and commas in the right places, and all the other niggling details.

       This module also	handles	the annoying problem (at least on some
       systems)	of trying to create a group line longer	than 512 characters.
       Typically this is done by creating multiple lines of groups with	the
       same GID.  When a new GroupFile object is created, all members of
       groups with the same GID	are merged into	a single group with a name
       corresponding to	the first name found in	the file for that GID.	When
       the file	is committed, long groups are written out as multiple lines of
       no more than 512	characters, with numbers appended to the group name
       for the extra lines.

METHODS
   add_user( GROUP, @USERS )
       This method will	add the	list of	users to an existing group.  Users
       that are	already	members	of the group are silently ignored.  The
       special group name * will add the users to every	group.	Returns	1 on
       success or 0 on failure.

   commit( [BACKUPEXT] )
       See the Unix::ConfigFile	documentation for a description	of this
       method.

   delete( GROUP )
       This method will	delete the named group.	 It has	no effect if the
       supplied	group does not exist.

   encpass( PASSWORD )
       See the Unix::ConfigFile	documentation for a description	of this
       method.

   gid(	GROUP [,GID] )
       Read or modify a	group's	GID.  Returns the GID in either	case.  Note
       that it is illegal to change a group's GID to a GID that	is already in
       use by another group.  In this case, the	method returns undef.

   group( GROUP	[,PASSWD, GID, @USERS] )
       This method can add, modify, or return information about	a group.
       Supplied	with a single group parameter, it will return a	list
       consisting of (PASSWORD,	GID, @MEMBERS),	or undef if no such group
       exists.	If you supply at least three parameters, the named group will
       be created or modified if it already exists.  The list is also returned
       to you in this case.  Note that it is illegal to	specify	a GID that is
       already in use by another group.	 In this case, the method returns
       undef.

   groups( [SORTBY] )
       This method returns a list of all existing groups.  By default the list
       will be sorted in order of the GIDs of the groups.  You may also	supply
       "name" as a parameter to	the method to get the list sorted by group
       name.  In scalar	context, this method returns the total number of
       groups.

   maxgid( )
       This method returns the maximum GID in use by all groups.

   members( GROUP [,@USERS] )
       Read or modify the list of members associated with a group.  If you
       specify any users when you call the method, all existing	members	of the
       group are removed and your list becomes the new set of members.	In
       scalar context, this method returns the total number of members in the
       group.

   new(	FILENAME [,OPTIONS] )
       See the Unix::ConfigFile	documentation for a description	of this
       method.

   passwd( GROUP [,PASSWD] )
       Read or modify a	group's	password.  Returns the encrypted password in
       either case.  If	you have a plaintext password, use the encpass method
       to encrypt it before passing it to this method.

   remove_user(	GROUP, @USERS )
       This method will	remove the list	of users from an existing group.
       Users that are not members of the group are silently ignored.  The
       special group name * will remove	the users from every group.  Returns 1
       on success or 0 on failure.

   rename_user(	OLDNAME, NEWNAME )
       This method will	change one username to another in every	group.
       Returns the number of groups affected.

AUTHOR
       Steve Snodgrass,	ssnodgra@fore.com

SEE ALSO
       Unix::AliasFile,	Unix::AutomountFile, Unix::ConfigFile,
       Unix::PasswdFile

perl v5.32.0			  2000-05-02			  GroupFile(3)

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

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

home | help