Exporting

Joel Griffiths griff at aver-computer.com
Wed Jun 23 14:34:58 PDT 1999


On Wed, 23 Jun 1999, you wrote:
> > MHO is to import first.  The socratic question I'd ask about what you plan
> > to do is "How do you prevent duplicate usernames?"
> >
> Simple, in my case the freeside machine and the shell machine are the same
> system, what I would like to do is just check if that username is already
> used on system which freeside is running on, and, well, that's that. 
First, that isn't a very good idea. You should run freeside on a different
machine than your shell machine. You may have security problems especially if
you don't modify svc_acct to encrypt the database passwords.

Secondly, the password file and the freeside database are two totally seperate
entities. You will still have to import the passwd file or at least define some
records in the svc_acct table with the correct information. Freeside uses the
information in that database to determine the UID, username conflicts, not the
local password file.

> You'll have to excuse me, I'm not a great perl programmer, but if you could
> help me hack this out it would be great.  This solution offers a method
> which makes freeside much more integrateable into other systems... Maybe I'm
> being silly and there's ways to do all of this with the import method, I'd
> be interested in using it if that was the case.  Where can I find more
Go into mysql and insert records for each shell account you already have. That
is all you need to do, I believe. 

1- Backup you passwwd, shadow, and users files.

2- Modify svc_acct.pm by commenting out the ssh("adduser ......*) line. This
will prevent you from overwriting existing accounts.

3- Define a service with with minimal options - uid, gid, username, dir, 
password, shell, and finger. Call it 'admin' or something.

4- Create a package with just that service.

5- Assign all of your accounts to this package by adding new accounts.

6- Uncomment the ssh('adduser....*) line.

7- Now you have all the accounts in your database so Freeside now knows which
username, gid, uid, etc are available.

Basically, the trick is to create a package for every service you offer, import
and then add the accounts to the freeside database using the correct service.

Do you want to use freeside for anything other than adding and deleting users
from the password file? Freeside does not keep read from the password
file except once during installation. After install, It keeps a copy of it,
updates it, and deletes from it, but it doesn't read from it. That is why it
doesn't matter if you are on the same machine or not. You still have to tell
freeside what it can use in the way of UID's and usernames.

If all you want to do is automatically update the password file, it would be
easier to write a small cgi script yourself than to use freeside, a much more
comprehensive solution.

-- Joel --
Senior Internet Engineer                  Aver, Inc.
(760) 568-4351 Phone              (760) 341-8694 Fax
"The world won't change just because I complain."
               Martina McBride



More information about the freeside-users mailing list