A simple script for adding SCO users

Web Site: MailStarUSA.com

One day I was adding a user to my customers system - I must have been tired - I had forgotten one of the steps and had wasted about an hour figuring it out. Frustrated, I muttered to myself 'There *must* be a better way!'.

Well, with unix hard stuff can often be easy: I wrote this simple shell script to add a user



#!/bin/sh
echo Enter user login
read loginID
echo Enter user name
read username

gid_def=group
share_root=/u/shared     
grep $loginID /etc/passwd
if [ $? -ne 1 ]
then
       echo 'already in system '
else
       echo "Adding user..."
       useradd -G$gid_def -c"$username" -d /usr/$loginID $loginID
       echo "Making user directory..."
       mkdir /usr/$loginID
       chown $loginID:$gid_def $loginID
       echo "Set unix users password..."
       passwd $loginID
       echo "Set Facetwin password..."
       fct_encrypt -b
       fct_encrypt $loginID
       mkdir /u/share/$loginID
       chmod 700 $share_root/$loginID
fi                                   
 
If you have any suggestions for improvement let me know.

Editor's note:

If you just want to quickly add a Linux user with default home directory, etc, just do: (for example, to add "fred")

useradd fred
passwd fred

That will add the user, create the user's home directory automatically with proper permissions, and complain if they already exist.

Dirk has FacetWin and other reasons for a more complex script. SCO's useradd doesn't default.

If transferring SCO to Linux, see How can I transfer SCO accounts (passwd information) to Linux?.



Got something to add? Send me email.





(OLDER) <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> -> A simple script for adding SCO users




Increase ad revenue 50-250% with Ezoic


More Articles by © Dirk Hart




---November 9, 2004

grep $loginID /etc/passwd
will not always work. You may have people
with almost same login names.

grep john /etc/passwd
will match *john*, *johnpaul*, *johnny*, etc.


---November 9, 2004

you should instead do:
cut -d":" -f1 /etc/passwd | egrep ^$loginID$




---November 9, 2004


But that might be his intention - to avoid similar, possibly confusing id's.

If he did want to be specific, he can

grep ^$loginID: /etc/passwd

Why use cut for this simple case? And you don't need egrep for that either.

--TonyLawrence


---November 9, 2004



Kerio Samepage


Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us





The activity of "debugging", or removing bugs from a program, ends when people get tired of doing it, not when the bugs are removed. (Datamation)

Always do right. This will gratify some people, and astonish the rest. (Mark Twain)







This post tagged: