I do this using two quickly hacked together scripts as follows - please bear in mind that these scripts are running on Solaris 11 and things are done this way to avoid a problem. But the scripts should be easily adaptable.
Script 1
Code:
for USER in `cat $DATADIR/name_list.txt | awk -F: '{ print $1 }'`
do
if [ ! -d /export/home/${USER} ]
then
echo "The home directory for ${USER} does not exist - create."
mkdir -p /export/home/${USER}
if [[ $? -eq "0" ]]
then
useradd -c"XXX Support User" -d/export/home/${USER} ${USER}
if [[ $? -eq "0" ]]
then
echo "Account for user ${USER} Created."
else
echo "Accounr for user ${USER} could not be created."
fi
else
echo "The Account for ${USER} either already exists or could not be setup."
fi
echo "Setting the ownership for /export/home/${USER}"
chown ${USER}:staff /export/home/${USER}
if [[ $? -eq "0" ]]
then
echo "The ownership of /export/home/${USER} wasx successfully set."
else
echo "There was a problem setting the ownership on /export/home/${USER}"
fi
echo "Setting the password for ${USER}"
echo ${USER} >> $DATADIR/added_users.txt
${BINDIR}/set_pw.sh ${USER} Ch4ng3me
else
echo "The user ${USER} already exists."
fi
done
I would suggest that you modify the expect script to suit your environment and call it from your main script passing the variables as I do - it's easier that way I think.
Hello all,
It's been a few years since I touched 'expect' and just got it on my system.
In the past, I could simply do the following:
(this is just a simple example)
$ expect
$ ls -l
$ pwd
$ exit
...then a default script name would be placed in my working directory. At this point I... (2 Replies)
I need to run a remote application(GUI) in a client.i.e on running a script in the client machine i should get the GUI application which is running in the server by providing password through the script.Will expect or autoexpect command suit for this scenario?
could anyone help me by posting some... (0 Replies)
Hello to all...this is my first post (so please go easy). :)
I feel pretty solid at expect scripting, but I'm running into an issue that I'm not able to wrap my head around. I wrote a script that is a little advanced for logging into a remote Linux machine and changing text in a file using sed.... (2 Replies)
This Expect script provides expect with a list of IP addresses to Cisco IPS sensors and commands to configure Cisco IPS sensors. The user, password, IP addresses, prompt regex, etc. have been anonymized. In general this script will log into the sensors and send commands successfully but there are... (1 Reply)
Hello All,
I am trying to automate an installation process using expect and sh script. My problem is that during the installation process the expected value can change according to the situation.
For Example if this is a first time installation then at step 3 I'll get "Do you want to accept... (0 Replies)
Hi,
Am very new to expect scripting..
Can You please suggest me how to call an expect script inside another expect script..
I tried with
spawn /usr/bin/ksh
send "expect main.exp\r"
expect $root_prompt
and
spawn /usr/bin/ksh
send "main.exp\r"
expect $root_prompt
Both... (1 Reply)
I have a simple Expect script to power a system on and off in an endless loop looking for an ERROR message at which point the script should exit. But I need to skip the first 60 seconds after each power on or off and not exit if there are ERROR messages during that time. I thought I could use... (0 Replies)
the following code works sometimes. other times, it behaves mysteriously. when the script sshs to a box, it is suppose to automatically begin running the command it is told to run. but in this case, after this script logs into a host, it just sits there at the prompt and does not run the... (1 Reply)
I'm fairly new to scripting so this might not be possible.
I am using Expect with Cisco switches and need to capture the string after finding the expect request. For example, when I issue "show version" on a Nexus switch, I'm looking to capture the current firmware version:
#show version
... (0 Replies)
Discussion started by: IBGaryA
0 Replies
LEARN ABOUT OPENDARWIN
su
SU(1) BSD General Commands Manual SU(1)NAME
su -- substitute user identity
SYNOPSIS
su [-flm] [login] [-c shell arguments]
DESCRIPTION
su requests the password for login and switches to that user and group ID after obtaining proper authentication. A shell is then executed,
and any additional shell arguments after the login name are passed to the shell. If su is executed by root, no password is requested and a
shell with the appropriate user ID is executed.
The options are as follows:
-c Invoke the following command in a subshell as the specified user.
-f If the invoked shell is csh(1), this option prevents it from reading the ``.cshrc'' file.
-l Simulate a full login. The environment is discarded except for HOME, SHELL, PATH, TERM, and USER. HOME and SHELL are modified as
above. USER is set to the target login. PATH is set to ``/bin:/usr/bin''. TERM is imported from your current environment. The
invoked shell is the target login's, and su will change directory to the target login's home directory. This option is identical to
just passing "-", as in "su -".
-m Leave the environment unmodified. The invoked shell is your login shell, and no directory changes are made. As a security precau-
tion, if the target user's shell is a non-standard shell (as defined by getusershell(3)) and the caller's real uid is non-zero, su
will fail.
The -l and -m options are mutually exclusive; the last one specified overrides any previous ones.
Only users in group ``wheel'' (normally gid 0) or group ``admin'' (normally gid 20) can su to ``root''.
By default (unless the prompt is reset by a startup file) the super-user prompt is set to ``#'' to remind one of its awesome power.
SEE ALSO csh(1), login(1), sh(1), skey(1), kinit(1), kerberos(1), passwd(5), group(5), environ(7)ENVIRONMENT
Environment variables used by su :
HOME Default home directory of real user ID unless modified as specified above.
PATH Default search path of real user ID unless modified as specified above.
TERM Provides terminal type which may be retained for the substituted user ID.
USER The user ID is always the effective ID (the target user ID) after an su unless the user ID is 0 (root).
HISTORY
A su command appeared in Version 7 AT&T UNIX.
BSD April 18, 1994 BSD