APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

A simple script for adding SCO users

© September 2003 Dirk Hart
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

echo Enter user login
read loginID
echo Enter user name
read username

grep $loginID /etc/passwd
if [ $? -ne 1 ]
       echo 'already in system '
       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
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

Inexpensive and informative Apple related e-books:

Take Control of IOS 11

Take Control of Automating Your Mac

Take Control of iCloud

iOS 10: A Take Control Crash Course

iOS 8: A Take Control Crash Course

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.


---November 9, 2004

Printer Friendly Version

Have you tried Searching this site?

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

Printer Friendly Version

Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowchart; it'll be obvious. (Fred Brooks, The Mythical Man Month)

Linux posts

Troubleshooting posts

This post tagged:




Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode