04-05-2011
shell to check user is logged on
I was given this to do,
Write a Shell script to automatically check that a specified user is logged in to the computer.
The program should allow the person running the script to specify the name of the user to be checked, the frequency in seconds at which the script should check. If a checking frequency is not specified, it should default to 60 seconds
The script should check for the specified user and if found should output a message with a “beep” or “bell” sound to the screen stating that the user is logged in. It should also output a message to a log file stating that the user is logged in and specifying the date and time.
If the user is not logged in the script should output a message without any “beep” sound to the screen stating that the user is not logged in.
The script should allow a person running the script to specify the user name on the command line and optionally, a check frequency in seconds and a third argument “q” “q” . If “q” is present as a third argument, The script should omit any output to the screen or “beep” sound but should log to a log file the message stating that the user is logged in and giving the time.
The command to run the script would be as follows:
checklogin username 30 q where “checklogin” is the script name, “username” is the name of the user, “30” is the optional frequency to check in seconds, and “q” is the optional argument to suppress screen output.
The script should check that the number of arguments supplied is between 1 and 3 and if it is not, should terminate with an error message showing the correct syntax for the command.
so far iv done this
#get username
echo "enter username"
enter username
read username
who | grep $username
#while exit status is false continue to check
while [ $? !=0 ]
do
sleep 60
done
Any help you can give finishing this would be greatly appreciated
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi
I am using mailx to send email and am wondering if there is a way I can send the email from a different user than the user logged in.
something like do-not-reply@xyz.com
Thank you. (1 Reply)
Discussion started by: rakeshou
1 Replies
2. Shell Programming and Scripting
Hi,
Here is the script that I have written to check if a particular user is has logged out, and if yes, then a mail needs to be sent to the management the details of whatever has been captured by the script command.
echo "The current users are:"
who | awk '{print $1}' | sort > temp1
cp... (1 Reply)
Discussion started by: ggayathri
1 Replies
3. Shell Programming and Scripting
Hello!
I'm stuck with a problem that i can't solve. I'm very new to unix, linux and shell scripting i might add. I'm trying to create a script that will execute as follows:
First start the script - sh exist
Then the prompt asks the user to input a username to check if it exists within the... (6 Replies)
Discussion started by: bib2006
6 Replies
4. Programming
Hi,
I have a program running on HP-UX and it must checkwhether a user has already logged-in to another machine. The hostname of the other machine is known when the check has to be made.
Is there a way which this can be accomplished using C++ or Java? If not I could parse the output of a... (6 Replies)
Discussion started by: johnmmcparland
6 Replies
5. UNIX Desktop Questions & Answers
how can i know which users have logged in at specified given start and end time in 24 hour format? (3 Replies)
Discussion started by: meherzad4u
3 Replies
6. Shell Programming and Scripting
Hello all,
I want to display all the user logged last week and know the time tnat they are connected. I have been looking for a solution in the Forum, but I didn't find.
Thanks in advance (4 Replies)
Discussion started by: ahernandez
4 Replies
7. Shell Programming and Scripting
Hi
I have below scenario, I hope this could be possible, but as of now no idea how to implement this.
Mount point in this location /abc/mp, and there will different users who will be executing one the file shell1.sh file located in /abs/mp, but every user will execute this shell1.sh file from... (1 Reply)
Discussion started by: shekharjchandra
1 Replies
8. Shell Programming and Scripting
Suppose user 'asdf' is not logged into server 'bbbb', but the server is up. User 'asdf' has cron job. Will it be executed? (1 Reply)
Discussion started by: thulasidharan2k
1 Replies
9. Red Hat
How do I confirm if a user logged in, is remote or local? In the case if the user is remote, how to be sure what authentication/method is it using, like LDAP, NIS or other? (2 Replies)
Discussion started by: kirtikjr
2 Replies
10. Shell Programming and Scripting
help me (1 Reply)
Discussion started by: sonu pandey
1 Replies
LEARN ABOUT MOJAVE
mcxquery
mcxquery(1) BSD General Commands Manual mcxquery(1)
NAME
mcxquery -- Managed Client (MCX) compositor query tool
SYNOPSIS
mcxquery [options] [-user recordName] [-group recordName] [-computer spec]
options:
-o path Writes output to a file at the specified path.
-format space | tab | xml Specifies the format of the output.
-computerOnly Ignore values for -user and -group.
-useCache Return the cached computer settings in the local node if they are available.
-raw Dumps Directory Service data for records contributing to managed preferences.
-forApple Convenience for specifying options when sending bug reports to Apple. Currently enables "-raw" and "-for-
mat xml". See usage example below.
-version Displays the current version of ManagedClient.
DESCRIPTION
mcxquery is a utility to determine the effective managed preferences for a user logging in to a workgroup from a specific computer.
-user Specify the short name of the user record to read managed preferences from. If this parameter is omitted, or a value of "=" speci-
fied, the short name of the currently logged in console user will be used.
-group Specify the short name of the group record to read managed preferences from. A value of "=" may be specified to mean the name of
the workgroup (if any) chosen for the current login session.
-computer Specify the computer record to read managed preferences from. The computer can be specified using either an Ethernet MAC address
(e.g. "11:22:33:44:55:66"), a Hardware UUID (e.g. "00112233-4455-6677-8899-AABBCCDDEEFF") or the short name of the computer record
itself (e.g. "lab1_12"). If this parameter is omitted, or a value of "=" specified, the record for the current computer will be
used.
EXAMPLES
mcxquery -user jane -group science -computer lab1_12
Displays the managed preferences that would be in effect if user "jane" logged in using workgroup "science" from the computer speci-
fied in the "lab1_12" computer record.
mcxquery -user jane -group science -computer 11:22:33:44:55:66
Displays the managed preferences that would be in effect if user "jane" logged in using workgroup "science" from a computer with an
Ethernet MAC address of 11:22:33:44:55:66.
mcxquery -user = -group = -computer guest
Displays the managed preferences that would be in effect if the current user logged in using the current workgroup into a computer
not specified by any computer record (i.e. a "guest" computer).
mcxquery -user jane -group math
Displays the managed preferences that would be in effect if the user "jane" logged into the "math" workgroup on the current com-
puter.
mcxquery -o /tmp/report.txt -format xml -user jane
Writes the managed preferences that would be in effect if user "jane" logged into the current computer without a workgroup. The
report is written in XML format to /tmp/report.txt.
mcxquery -computerOnly -computer lab1_12
Displays the managed preferences for the computer specified in the "lab1_12" computer record only. Useful for determining managed
settings when computer is at login window.
mcxquery -computerOnly -computer 00112233-4455-6677-8899-AABBCCDDEEFF
Displays the managed preferences for the computer with the Hardware UUID "00112233-4455-6677-8899-AABBCCDDEEFF". Supported on Mac OS
X 10.6 and later.
mcxquery -forApple -o results.plist
Creates a plist, suitable for submitting along with bug reports to Apple, containing the managed preferences for the current user on
the current computer. Also includes relevant records from Directory Services. Supported on Mac OS X 10.7 and later.
SEE ALSO
dscl(1)
MacOSX April 14, 2017 MacOSX