Sponsored Content
Homework and Emergencies Homework & Coursework Questions Display info about users (UID GID processes terminal) Post 302942102 by kornfan on Friday 24th of April 2015 08:15:30 AM
Old 04-24-2015
Display info about users (UID GID processes terminal)

I would like to get an opinion for my solution for this task and get feedback about better approach or mistakes I have made.

1. The problem statement, all variables and given/known data:
The task is to create a script which prints information about users whose names are specified in the parameters between spaces.

Result should display:
  • user name
  • UID
  • GID
  • home path
  • status (logged in or not)
  • if yes specify terminal name and number of processes running
If user is logged in to more than one terminal then it should display info about every terminal separately.

If there is no parameter specified then information displayed should concern the user who run the script


2. Relevant commands, code, scripts, algorithms:
I used simple commands:
grep ps who wc cut
to get necessary information

3. The attempts at a solution (include all code and scripts):
Code:
#!/bin/sh
if [ -z "$*" ]
then
	users=$(who)
else
	users=$*
fi
for name in $users
do
	line=$(grep "^$name:" /etc/passwd)
	if [ -z "$line" ]
	then
		echo "User not found"
	else
		 printf "$line" | cut -f 1,3,4,6 -d:
	
		if [ -n "$(who | grep $name)" ]
		then
			printf " logged in at "
			terminale=$(who | grep $name)
			terminale=`echo "$terminale" | cut -f2 -d" "`
			for terminal in $terminale
			do
				printf "%s " $(echo "$terminal" | cut -f2 -d" ")
				printf "%s processes " $(ps -t $terminal | wc -l)
			done
			printf "\n"
		else
			printf "Not logged in \n"
		fi	

	fi	
done


4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):
Wojskowa Akademia Techniczna, Poland
Operating Systems (Systemy Operacyjne)
A.Zieliński
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

negative UID/GID?!! I can see 'em but what the hell do they mean?!

Just as the subject asks :) Thanks! hellz (2 Replies)
Discussion started by: hellz
2 Replies

2. Solaris

NFS Mount UID and GID

I have a truble with NFS mount. When i mount remote dir, then all permissions changes! For example: # mkdir /data # mount 10.1.1.100:/var/data /data # ls -l /data drwxr-xr-x 7 nobody nobody 5632 Oct 22 14:55 file1 drwxr-xr-x 4 nobody nobody 512 Oct 22 14:55... (4 Replies)
Discussion started by: jess_t03
4 Replies

3. UNIX for Dummies Questions & Answers

UID & GID of the running process

Hi, out of curosity this question just popped in my mind. Is there any way to find out the uid and gid of the running process ? If i do a ls -l of a program then it shows the uid/gid bit (if its set). I want to see as which user/group the program is running ..... is there any way to know this... (2 Replies)
Discussion started by: ankurjain
2 Replies

4. UNIX for Advanced & Expert Users

GID & UID for HP-UX ?

Hi, can somebody tell me how to make directoriy in which all files will be generated as dir owner ? I'm able to add GID for directory group and files have group id like folder , but when i do same for user files still are created as user which creates them :( drwsrwsrwx 2 flexbul ... (2 Replies)
Discussion started by: pp56825
2 Replies

5. Shell Programming and Scripting

How to display what processes, users have opened at a given time

Hello, What i have to do is make a top 10 list of users sorted by the number of processes opened at a given time. Can anyone help me with finding out for a given moment, for all users how many processes each had opened? (5 Replies)
Discussion started by: gabibyte
5 Replies

6. UNIX for Advanced & Expert Users

Numeric uid and gid in ls -l command

I´m listing the contents of a directory using the command ls -lI get numeric uid and gid for some lines. example: drwxr-xr-x root root 1970-01-01 01:00 sys -rw-r--r-- 501 20 0 2010-08-04 14:54 shutdown.bravo.rc drwxr-x--- 501 20 ... (5 Replies)
Discussion started by: flocki
5 Replies

7. Shell Programming and Scripting

changing uid,gid

Hi, I am new to scrippting need little help, I would like to change uid, gid of exisisting user, example User A current uid=1,gid=2 would like to change uid=4,gid=5 I know the command to change uid,gid but after changing I have to change permissions on folders also which are belonging... (3 Replies)
Discussion started by: manoj.solaris
3 Replies

8. UNIX for Dummies Questions & Answers

uid ,gid value change

Present /home/dsadm# id dsadm uid=0(root) gid=0(root) ---------------------------------- needs to be /home/dsadm> id dsadm uid=23186(dsadm) gid=16284(gdstage) Please provide the command/steps for the above uid, gid value change Thanks in advance for all your support . ... (3 Replies)
Discussion started by: sridhardwh
3 Replies

9. Shell Programming and Scripting

Find users with root UID or GID or root home

I need to list users in /etc/passwd with root's GID or UID or /root as home directory If we have these entries in /etc/passwd root:x:0:0:root:/root:/bin/bash rootgooduser1:x:100:100::/home/gooduser1:/bin/bash baduser1:x:0:300::/home/baduser1:/bin/bash... (6 Replies)
Discussion started by: anil510
6 Replies

10. AIX

UID & GID instead of user name and group name

Hi Everyone, We are encountering the following issue on AIX 5.3. When we do ls -ltr the list displays only user id and group id instead of user name and group name. This is happening for all users except root. Whe we do ls -ltr with root user it shows perfectly fine. When we searched... (25 Replies)
Discussion started by: madhav.kunapa
25 Replies
WRITE(1)						    BSD General Commands Manual 						  WRITE(1)

NAME
write -- send a message to another user SYNOPSIS
write user [ttyname] DESCRIPTION
write allows you to communicate with other users, by copying lines from your terminal to theirs. When you run the write command, the user you are writing to gets a message of the form: Message from yourname@yourhost on yourtty at hh:mm ... Any further lines you enter will be copied to the specified user's terminal. If the other user wants to reply, they must run write as well. When you are done, type an end-of-file or interrupt character. The other user will see the message 'EOF' indicating that the conversation is over. You can prevent people (other than the super-user) from writing to you with the mesg(1) command. Some commands, for example nroff(1) and pr(1), disallow writing automatically, so that your output isn't overwritten. If the user you want to write to is logged in on more than one terminal, you can specify which terminal to write to by specifying the termi- nal name as the second operand to the write command. Alternatively, you can let write select one of the terminals - it will pick the one with the shortest idle time. This is so that if the user is logged in at work and also dialed up from home, the message will go to the right place. The traditional protocol for writing to someone is that the string '-o', either at the end of a line or on a line by itself, means that it's the other person's turn to talk. The string 'oo' means that the person believes the conversation to be over. SEE ALSO
mesg(1), talk(1), who(1) HISTORY
A write command appeared in Version 6 AT&T UNIX. BSD
June 6, 1993 BSD
All times are GMT -4. The time now is 05:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy