diff options
Diffstat (limited to 'htdocs/docs/man/FS/svc_acct.html')
-rw-r--r-- | htdocs/docs/man/FS/svc_acct.html | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/htdocs/docs/man/FS/svc_acct.html b/htdocs/docs/man/FS/svc_acct.html new file mode 100644 index 000000000..4b307455e --- /dev/null +++ b/htdocs/docs/man/FS/svc_acct.html @@ -0,0 +1,210 @@ +<HTML> +<HEAD> +<TITLE>FS::svc_acct - Object methods for svc_acct records</TITLE> +<LINK REV="made" HREF="mailto:ivan@rootwood.sisd.com"> +</HEAD> + +<BODY> + +<!-- INDEX BEGIN --> + +<UL> + + <LI><A HREF="#NAME">NAME</A> + <LI><A HREF="#SYNOPSIS">SYNOPSIS</A> + <LI><A HREF="#DESCRIPTION">DESCRIPTION</A> + <LI><A HREF="#METHODS">METHODS</A> + <LI><A HREF="#VERSION">VERSION</A> + <LI><A HREF="#BUGS">BUGS</A> + <LI><A HREF="#SEE_ALSO">SEE ALSO</A> +</UL> +<!-- INDEX END --> + +<HR> +<P> +<H1><A NAME="NAME">NAME</A></H1> +<P> +FS::svc_acct - Object methods for svc_acct records + +<P> +<HR> +<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1> +<P> +<PRE> use FS::svc_acct; +</PRE> +<P> +<PRE> $record = new FS::svc_acct \%hash; + $record = new FS::svc_acct { 'column' => 'value' }; +</PRE> +<P> +<PRE> $error = $record->insert; +</PRE> +<P> +<PRE> $error = $new_record->replace($old_record); +</PRE> +<P> +<PRE> $error = $record->delete; +</PRE> +<P> +<PRE> $error = $record->check; +</PRE> +<P> +<PRE> $error = $record->suspend; +</PRE> +<P> +<PRE> $error = $record->unsuspend; +</PRE> +<P> +<PRE> $error = $record->cancel; +</PRE> +<P> +<HR> +<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1> +<P> +An FS::svc_acct object represents an account. FS::svc_acct inherits from +FS::svc_Common. The following fields are currently supported: + +<DL> +<DT><STRONG><A NAME="item_svcnum">svcnum - primary key (assigned automatcially for new accounts)</A></STRONG><DD> +<DT><STRONG><A NAME="item_username">username</A></STRONG><DD> +<DT><STRONG><A NAME="item__password">_password - generated if blank</A></STRONG><DD> +<DT><STRONG><A NAME="item_popnum">popnum - Point of presence (see FS::svc_acct_pop)</A></STRONG><DD> +<DT><STRONG><A NAME="item_uid">uid</A></STRONG><DD> +<DT><STRONG><A NAME="item_gid">gid</A></STRONG><DD> +<DT><STRONG><A NAME="item_finger">finger - GECOS</A></STRONG><DD> +<DT><STRONG><A NAME="item_dir">dir - set automatically if blank (and uid is not)</A></STRONG><DD> +<DT><STRONG><A NAME="item_shell">shell</A></STRONG><DD> +<DT><STRONG><A NAME="item_quota">quota - (unimplementd)</A></STRONG><DD> +<DT><STRONG><A NAME="item_slipip">slipip - IP address</A></STRONG><DD> +<DT><STRONG><A NAME="item_radius_Radius_Attribute">radius_Radius_Attribute - Radius-Attribute</A></STRONG><DD> +</DL> +<P> +<HR> +<H1><A NAME="METHODS">METHODS</A></H1> +<DL> +<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD> +<P> +Creates a new account. To add the account to the database, see <A HREF="#insert">insert</A>. + +<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD> +<P> +Adds this account to the database. If there is an error, returns the error, +otherwise returns false. + +<P> +The additional fields pkgnum and svcpart (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A>) should be defined. An FS::cust_svc record will be created and inserted. + +<P> +If the configuration value (see <A HREF="../FS/Conf.html">FS::Conf</A>) shellmachine exists, and the username, uid, and dir fields are defined, +the command + +<P> +<PRE> useradd -d $dir -m -s $shell -u $uid $username +</PRE> +<P> +is executed on shellmachine via ssh. This behaviour can be surpressed by +setting $FS::svc_acct::nossh_hack true. + +<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD> +<P> +Deletes this account from the database. If there is an error, returns the +error, otherwise returns false. + +<P> +The corresponding FS::cust_svc record will be deleted as well. + +<P> +If the configuration value (see <A HREF="../FS/Conf.html">FS::Conf</A>) shellmachine exists, the command: + +<P> +<PRE> userdel $username +</PRE> +<P> +is executed on shellmachine via ssh. This behaviour can be surpressed by +setting $FS::svc_acct::nossh_hack true. + +<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD> +<P> +Replaces OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. + +<P> +If the configuration value (see <A HREF="../FS/Conf.html">FS::Conf</A>) shellmachine exists, and the dir field has changed, the command: + +<P> +<PRE> [ -d $old_dir ] && ( + chmod u+t $old_dir; + umask 022; + mkdir $new_dir; + cd $old_dir; + find . -depth -print | cpio -pdm $new_dir; + chmod u-t $new_dir; + chown -R $uid.$gid $new_dir; + rm -rf $old_dir + ) +</PRE> +<P> +is executed on shellmachine via ssh. This behaviour can be surpressed by +setting $FS::svc_acct::nossh_hack true. + +<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><DD> +<P> +Suspends this account by prefixing *SUSPENDED* to the password. If there is +an error, returns the error, otherwise returns false. + +<P> +Called by the suspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>). + +<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><DD> +<P> +Unsuspends this account by removing *SUSPENDED* from the password. If there +is an error, returns the error, otherwise returns false. + +<P> +Called by the unsuspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>). + +<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><DD> +<P> +Just returns false (no error) for now. + +<P> +Called by the cancel method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>). + +<DT><STRONG><A NAME="item_check">check</A></STRONG><DD> +<P> +Checks all fields to make sure this is a valid service. If there is an +error, returns the error, otherwise returns false. Called by the insert and +replace methods. + +<P> +Sets any fixed values; see <A HREF="../FS/part_svc.html">FS::part_svc</A>. + +</DL> +<P> +<HR> +<H1><A NAME="VERSION">VERSION</A></H1> +<P> +$Id: svc_acct.html,v 1.1 1999-08-04 12:13:27 ivan Exp $ + +<P> +<HR> +<H1><A NAME="BUGS">BUGS</A></H1> +<P> +The remote commands should be configurable. + +<P> +The bits which ssh should fork before doing so. + +<P> +The <CODE>$recref</CODE> stuff in sub check should be cleaned up. + +<P> +<HR> +<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1> +<P> +<A HREF="../FS/svc_Common.html">FS::svc_Common</A>, <A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/Conf.html">FS::Conf</A>, <A HREF="../FS/cust_svc.html">FS::cust_svc</A>, +<A HREF="../FS/part_svc.html">FS::part_svc</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, <A HREF="../FS/SSH.html">FS::SSH</A>, <EM>ssh</EM>, <A HREF="../FS/svc_acct_pop.html">FS::svc_acct_pop</A>, schema.html from the base documentation. + +</BODY> + +</HTML> |