01-06-2013
Automatic User Creation
Hello everybody,
I'm new to sh scripting and relatively new to linux in general which is why I've come here for assistance.
I have been attempting to make a shell script which automatically creates user accounts from a file list and further creating directories and moving files into it etc. The issue I'm having is that it won't create any other user accounts after the first one, it gets stuck on the second username entry and gives this error when it attempts to make the account,
Quote:
find: paths must precede expression: shaun
(shaun being the second username in the Username file)
Can you please take a look at my code and see if I've made any mistakes? I've looked for hours to try and figure it out but to no avail.
Quote:
userchecks () {
linecount=$(wc -l < Usernames)
echo $line
while [ $line -le $linecount ]
do
line=`expr $line + 1`
echo $line
username=$(head -$line Usernames)
existinguser=$(find /home -name $username)
if
[ -z $existinguser ]
then
sudo useradd -m $username
unset username
unset existinguser
else
userexists
fi
done
}
userexists () {
echo "PRESS 1 TO DELETE THE OLD $existinguser ACCOUNT, OR 2 TO KEEP IT, BUT RENAME IT WITH _OLD PREFIX:"
read input
echo $input
if [ $input -eq 1 ]
then
user=$(basename $existinguser)
sudo userdel $user
sudo rm -rf $existinguser
echo "USER ACCOUNT DELETED"
sudo useradd -m $user
unset username
unset existinguser
unset user
elif [ $input -eq 2 ]
then
suffix="_old"
user=$(basename $existinguser)
sudo userdel $user
sudo mv /home/$user /home/$user$suffix
echo "USER ACCOUNT NAME SUFFIXED WITH _OLD"
sudo useradd -m $user
unset username
unset existinguser
unset user
fi
userchecks
}
line=0
userchecks
Thank you in advance
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hello,
Actually I want to create a user for our brower based custom application for the mail access from our mailserver(linux).
I create user dummy and I granted all the privileages to dummy user and made dummy equivelent to root and if I tried to create a another user logging as dummy ... (1 Reply)
Discussion started by: jarkvarma
1 Replies
2. UNIX for Advanced & Expert Users
I have asked by our security team to implement an automatic time out for user logins after a specified time interval. I have never heard of this feature in Unix before.
Does anyone know of a way to accomplish this for HP-UX 11i? (2 Replies)
Discussion started by: keelba
2 Replies
3. Solaris
Hi all,
I want to create one user with full permissions to one directory called /opt/tivoli/tsm/client/ba/bin.
Name for the user Tivoli
Thanks & Regards
Babu (7 Replies)
Discussion started by: lbreddy
7 Replies
4. Solaris
i am trying to create a user on solaris 10. it is not taking user name with more than ten characters. which file i need to edit to do this setting. (4 Replies)
Discussion started by: raynu.sharma
4 Replies
5. Red Hat
Hi
Thanks in advance.
How to create a user without useradd command ?? (1 Reply)
Discussion started by: krish4linux
1 Replies
6. Solaris
Hello guys,
i have a problem where i cant create a user and here some problem that i encounter.
1. /etc/passwd seems locked.
2. getting this error UX: useradd: ERROR: Cannot update system files - login cannot be created.
# useradd -u 47367 -g 1084 -c "user123" -d /local/home/user123 -s... (2 Replies)
Discussion started by: brew
2 Replies
7. AIX
hi seniors
i want to create the users like when the user try to login it should not
should not promt for passwd is it possible to create users like this
please help me (6 Replies)
Discussion started by: senmak
6 Replies
8. Shell Programming and Scripting
Hi Gems..
I am working out on project of creating a mass user on 100 server. Please help me with script where i can create an user id of new 80 user using shell script
Thanks in advance.
Indrajit Bhagat (1 Reply)
Discussion started by: indrajit_renu
1 Replies
9. Solaris
Hi can anyone help me how to create a NIS user by editing the files like Passwd,group, Netgroup,auto.home and Aliases using the "enis" utility?
Please do the needful................................ (4 Replies)
Discussion started by: Revathi@1
4 Replies
CHSH(1) User Commands CHSH(1)
NAME
chsh - change your login shell
SYNOPSIS
chsh [-s shell] [-l] [-u] [-v] [username]
DESCRIPTION
chsh is used to change your login shell. If a shell is not given on the command line, chsh prompts for one.
chsh is used to change local entries only. Use ypchsh, lchsh or any other implementation for non-local entries.
OPTIONS
-s, --shell shell
Specify your login shell.
-l, --list-shells
Print the list of shells listed in /etc/shells and exit.
-u, --help
Print a usage message and exit.
-v, --version
Print version information and exit.
VALID SHELLS
chsh will accept the full pathname of any executable file on the system. However, it will issue a warning if the shell is not listed in
the /etc/shells file. On the other hand, it can also be configured such that it will only accept shells listed in this file, unless you
are root.
EXIT STATUS
Returns 0 if operation was successful, 1 if operation failed or command syntax was not valid.
SEE ALSO
login(1), passwd(5), shells(5)
AUTHOR
Salvatore Valente <svalente@mit.edu>
AVAILABILITY
The chsh command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
util-linux July 2009 CHSH(1)