Users Not Logged in


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Users Not Logged in
# 1  
Old 03-29-2009
Users Not Logged in

I have searched the forums but have not mangaed to quite find what im looking for. I have used to /etc/passwd command to present me a list of all users the who command to present all users currently logged on, but what i want to know is what command can i use to display users that are registered but not currently logged in?
# 2  
Old 03-29-2009
Please state your Operating System and version and preferred Shell in questions.
There is no generic unix command to show who has an account but is not logged in. There are enhanced versions of "finger" on some unixes but this is non-standard.

We can subtract "who -u" from "logins". We could equally use "listusers" instead of "logins" or even read /etc/passwd directly.
For example:

Code:
#!/bin/ksh
# Who is logged in now?
who -u | awk '{print $1}' >/tmp/who_u.$$
# Who has an account?
logins | awk '{print $1}' > /tmp/logins.$$
# Users who appear in "logins" but not in "who -u"
cat /tmp/logins.$$ /tmp/who_u.$$ | sort | uniq -u | pg
# Clean up temporary files
rm /tmp/logins.$$
rm /tmp/who_u.$$

# 3  
Old 03-29-2009
Code:
who | cut -d ' ' -f1 > whoson
cut -d: -f1 /etc/passwd | grep -vf whoson

# 4  
Old 03-29-2009
Cool cfajohnson.
No offence. OK for low numbers of users. Bit heavy on a large system.
# 5  
Old 03-29-2009
Quote:
Originally Posted by methyl
Please state your Operating System and version and preferred Shell in questions.

It can be done with standard commands.
Quote:
There is no generic unix command to show who has an account but is not logged in. There are enhanced versions of "finger" on some unixes but this is non-standard.

We can subtract "who -u" from "logins". We could equally use "listusers" instead of "logins" or even read /etc/passwd directly.
For example:

Code:
#!/bin/ksh
# Who is logged in now?
who -u | awk '{print $1}' >/tmp/who_u.$$
# Who has an account?
logins | awk '{print $1}' > /tmp/logins.$$$


Code:
$ logins
-bash: logins: command not found

Quote:
Code:
# Users who appear in "logins" but not in "who -u"
cat /tmp/logins.$$ /tmp/who_u.$$ | sort | uniq -u | pg


UUOC.

Sort will be slow on a large system, and it's not needed.

bash: pg: command not found

Quote:
Code:
# Clean up temporary files
rm /tmp/logins.$$
rm /tmp/who_u.$$


You don't need two calls to rm:

Code:
rm /tmp/logins.$$ /tmp/who_u.$$

# 6  
Old 03-29-2009
To: cfajohnson
warlock129 has not stated his Operating System and preferred shell.
What Operating System are you running which does not have unix "pg" or "logins"?
BTW. This is "www.unix.com" and has Linux sub-forums.

On a 1000 user system with 500 users logged in I reckon that one sort of 1500 lines will beat 1000 grep's of a 500 line file.

Last edited by methyl; 03-29-2009 at 10:12 PM.. Reason: Added argument. Removed some rudeness.
# 7  
Old 03-29-2009
Quote:
Originally Posted by methyl
To: cfajohnson
warlock129 has not stated his Operating System and preferred shell.

That is irrelevant. All solutions should use a POSIX shell and standard commands.
Quote:
What Operating System are you running which does not have unix "pg" or "logins"?

The logins command is not available on Mandriva, Red Hat, FreeBSD or NetBSD.

The pg command is on NetBSD, but not the others.

Neither command is part of the POSIX specification.

Why would you use non-standard commands when there are standard ones that do the job?
Quote:
BTW. This is "www.unix.com" and has Linux sub-forums.
I collect these gems and learn from them.

In a forum where people have many different systems, the only sensible thing is to post solutions that work for all of them.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Users logged into the system

So I'm trying to write a single line command So I have to use last first in this command and I've figured out the format my professor wants it in, something like thislast | cut -d' ' -f1,15 | sort > check | uniq -c.... and I never can get it right, when I just last command I get something... (2 Replies)
Discussion started by: DoubleAlpha
2 Replies

2. Shell Programming and Scripting

Users not logged in for last 90 days

Hi, How to find the users who did not login into a UNIX box (thru ssh/ftp or any other way) for last 90 days? I think of using "finger" or "last" command to findout each user's last login and then find number of days between today and that day. Is there any other better way or anyone prepared... (1 Reply)
Discussion started by: reddyr
1 Replies

3. UNIX for Dummies Questions & Answers

How many users are logged in?

How do I find this out? I have a feeling its a simple command such as who, but I just don't know what it is. I've had a search on here but either I can't put it into the right search criteria or there isn't a topic on it. Thanks. EDIT: Delete this thread, as I posted it I noticed the... (0 Replies)
Discussion started by: chris_rabz
0 Replies

4. Post Here to Contact Site Administrators and Moderators

logged out users

how to find out users who logged out within 5 minutes (1 Reply)
Discussion started by: roshni
1 Replies

5. UNIX for Advanced & Expert Users

HP-UX users get logged off while idle.

Im "supporting" at least 2500 HP-UX workstations with CAD-related software with the B.11.11 build. I cant say anymore than that because of my companys sligtly paranoid security policy . The last few days a new problem has arised from nowhere. The problem is that users gets logged off when the... (5 Replies)
Discussion started by: Laoinjo
5 Replies

6. Shell Programming and Scripting

how many users logged

in unix what is the syntax to find out how many users are currently logged in (4 Replies)
Discussion started by: trichyselva
4 Replies

7. IP Networking

Users logged in through which NIC

We have two NIC cards in our IBM RS/6000 F50 running AIX 4.3.3 We are trying to make sure we have moved all users to log in through the new NIC. 10.22.x.y (old) 10.22.x.z (new) How can I tell which users are still using the old address for logging in so I can update their work station to... (5 Replies)
Discussion started by: cburtgo
5 Replies

8. UNIX for Dummies Questions & Answers

How to know what users are logged in to account

hello all say im logged in to account ar root , but I can't change any thing there ( like username ) if someone is already logged in also . how can I know who is ( user name ) also connected to the user im using ? (2 Replies)
Discussion started by: umen
2 Replies

9. IP Networking

All tcp/ip users are logged out

I have an RS6000 server running AIX and on occasion all users are logged out of the server "connection closed by foreign host" is the error message. Normally a user can press enter and get a Login prompt, but they get the message "connection refused" and then the users can wait a minute or so and... (2 Replies)
Discussion started by: Docboyeee
2 Replies

10. UNIX for Dummies Questions & Answers

Information about users who have logged.

Hi, Suppose I have a programme called Menu. This menu has various choices as we would expect from a Menu. Now Can you Please help me as I want the details of the Users to be registered to some file , Whoever has entered this particular Program . Basically to see the username and the time that... (2 Replies)
Discussion started by: rooh
2 Replies
Login or Register to Ask a Question