From 51984ac3d3da3006809c6866fdecd4ad83610731 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 30 Jul 2001 07:36:04 +0000 Subject: templates!!! --- httemplate/docs/man/FS/svc_acct.html | 219 +++++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 httemplate/docs/man/FS/svc_acct.html (limited to 'httemplate/docs/man/FS/svc_acct.html') diff --git a/httemplate/docs/man/FS/svc_acct.html b/httemplate/docs/man/FS/svc_acct.html new file mode 100644 index 000000000..81bc118df --- /dev/null +++ b/httemplate/docs/man/FS/svc_acct.html @@ -0,0 +1,219 @@ + + +FS::svc_acct - Object methods for svc_acct records + + + + + + + + + + + +
+

+

NAME

+

FS::svc_acct - Object methods for svc_acct records

+

+


+

SYNOPSIS

+
+  use FS::svc_acct;
+
+  $record = new FS::svc_acct \%hash;
+  $record = new FS::svc_acct { 'column' => 'value' };
+
+  $error = $record->insert;
+
+  $error = $new_record->replace($old_record);
+
+  $error = $record->delete;
+
+  $error = $record->check;
+
+  $error = $record->suspend;
+
+  $error = $record->unsuspend;
+
+  $error = $record->cancel;
+
+  %hash = $record->radius;
+

+


+

DESCRIPTION

+

An FS::svc_acct object represents an account. FS::svc_acct inherits from +FS::svc_Common. The following fields are currently supported:

+
+
svcnum - primary key (assigned automatcially for new accounts)
+
+
username
+
+
_password - generated if blank
+
+
popnum - Point of presence (see the FS::svc_acct_pop manpage)
+
+
uid
+
+
gid
+
+
finger - GECOS
+
+
dir - set automatically if blank (and uid is not)
+
+
shell
+
+
quota - (unimplementd)
+
+
slipip - IP address
+
+
radius_Radius_Attribute - Radius-Attribute
+
+
+

+


+

METHODS

+
+
new HASHREF
+
+Creates a new account. To add the account to the database, see insert. +

+
insert
+
+Adds this account to the database. If there is an error, returns the error, +otherwise returns false. +

The additional fields pkgnum and svcpart (see the FS::cust_svc manpage) should be +defined. An FS::cust_svc record will be created and inserted.

+

If the configuration value (see the FS::Conf manpage) shellmachine exists, and the +username, uid, and dir fields are defined, the command(s) specified in +the shellmachine-useradd configuration are exectued on shellmachine via ssh. +This behaviour can be surpressed by setting $FS::svc_acct::nossh_hack true. +If the shellmachine-useradd configuration file does not exist,

+
+  useradd -d $dir -m -s $shell -u $uid $username
+

is the default. If the shellmachine-useradd configuration file exists but +it empty,

+
+  cp -pr /etc/skel $dir; chown -R $uid.$gid $dir
+

is the default instead. Otherwise the contents of the file are treated as +a double-quoted perl string, with the following variables available: +$username, $uid, $gid, $dir, and $shell.

+

+
delete
+
+Deletes this account from the database. If there is an error, returns the +error, otherwise returns false. +

The corresponding FS::cust_svc record will be deleted as well.

+

If the configuration value (see the FS::Conf manpage) shellmachine exists, the +command(s) specified in the shellmachine-userdel configuration file are +executed on shellmachine via ssh. This behavior can be surpressed by setting +$FS::svc_acct::nossh_hack true. If the shellmachine-userdel configuration +file does not exist,

+
+  userdel $username
+

is the default. If the shellmachine-userdel configuration file exists but +is empty,

+
+  rm -rf $dir
+

is the default instead. Otherwise the contents of the file are treated as a +double-quoted perl string, with the following variables available: +$username and $dir.

+

+
replace OLD_RECORD
+
+Replaces OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +

If the configuration value (see the FS::Conf manpage) shellmachine exists, and the +dir field has changed, the command(s) specified in the shellmachine-usermod +configuraiton file are executed on shellmachine via ssh. This behavior can +be surpressed by setting $FS::svc-acct::nossh_hack true. If the +shellmachine-userdel configuration file does not exist or is empty, :

+
+  [ -d $old_dir ] && mv $old_dir $new_dir || (
+    chmod u+t $old_dir;
+    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
+  )
+

is executed on shellmachine via ssh. This behaviour can be surpressed by +setting $FS::svc_acct::nossh_hack true.

+

+
suspend
+
+Suspends this account by prefixing *SUSPENDED* to the password. If there is an +error, returns the error, otherwise returns false. +

Called by the suspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
unsuspend
+
+Unsuspends this account by removing *SUSPENDED* from the password. If there is +an error, returns the error, otherwise returns false. +

Called by the unsuspend method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
cancel
+
+Just returns false (no error) for now. +

Called by the cancel method of FS::cust_pkg (see the FS::cust_pkg manpage).

+

+
check
+
+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. +

Sets any fixed values; see the FS::part_svc manpage.

+

+
radius
+
+Depriciated, use radius_reply instead. +

+
radius_reply
+
+Returns key/value pairs, suitable for assigning to a hash, for any RADIUS +reply attributes of this record. +

Note that this is now the preferred method for reading RADIUS attributes - +accessing the columns directly is discouraged, as the column names are +expected to change in the future.

+

+
radius_check
+
+Returns key/value pairs, suitable for assigning to a hash, for any RADIUS +check attributes of this record. +

Accessing RADIUS attributes directly is not supported and will break in the +future.

+

+

+


+

VERSION

+

$Id: svc_acct.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

+

+


+

BUGS

+

The bits which ssh should fork before doing so (or maybe queue jobs for a +daemon).

+

The $recref stuff in sub check should be cleaned up.

+

The suspend, unsuspend and cancel methods update the database, but not the +current object. This is probably a bug as it's unexpected and +counterintuitive.

+

+


+

SEE ALSO

+

the FS::svc_Common manpage, the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc manpage, +the FS::part_svc manpage, the FS::cust_pkg manpage, the Net::SSH manpage, ssh, the FS::svc_acct_pop manpage, +schema.html from the base documentation.

+ + + + -- cgit v1.2.1