Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Create a shell script to gather user account information and displays the result to administrator Post 303026002 by amit1986 on Saturday 17th of November 2018 01:34:32 AM
Old 11-17-2018
Create a shell script to gather user account information and displays the result to administrator

I want to create a shell script to gather user account information and displays the result to administrator.


I have created a script but its showing all the information when i search for username like:

Code:
amit@mx:~$ ./uinfo.sh  amit

Username                  :  amit  [User Id - 1000]
User Info                 : amit,,,

User's Primary Group      :  amit  [Group Id - 1000]
User is Member of Groups  : amit adm cdrom sudo dip plugdev lpadmin sambashare

Home Directory            : /home/amit  [Size Occupied - 162M]
Default Shell             : /bin/bash





I want to use script like 



./uinfo.sh -i <username> Display user ID
./uinfo.sh -g <username> Display user GID


===========================================
#!/bin/sh

if [ "$1" = "" ]
then
        echo
        echo "Usage: $0 USERNAME"
        echo





        echo "Example:  $0 kam"
        echo

        exit 1
fi

Username=`cat /etc/passwd | grep -Ew ^$1 | cut -d":" -f1`

if [ "$Username" = "" ]
then



        echo "Username $1 doesn't exist"
        exit 2
fi

Userid=`cat /etc/passwd | grep -Ew ^$Username | cut -d":" -f3`
UserPrimaryGroupId=`cat /etc/passwd | grep -Ew ^$Username | cut -d":" -f4`
UserPrimaryGroup=`cat /etc/group | grep :"$UserPrimaryGroupId": | cut -d":" -f1`
UserInfo=`cat /etc/passwd | grep -Ew ^$Username | cut -d":" -f5`
UserHomeDir=`cat /etc/passwd | grep -Ew ^$Username | cut -d":" -f6`
UserShell=`cat /etc/passwd | grep -Ew ^$Username | cut -d":" -f7`

UserGroups=`groups $Username | awk -F": " '{print $2}'`
PasswordExpiryDate=`chage -l $Username | grep "Password expires" | awk -F": " '$
LastPasswordChangeDate=`chage -l $Username | grep "Last password change" | awk $
AccountExpiryDate=`chage -l $Username | grep "Account expires" | awk -F": " '{p$
HomeDirSize=`du -hs $UserHomeDir | awk '{print $1}'`

echo
printf "%-25s : %5s  [User Id - %s]\n" "Username" "$Username" "$Userid"
printf "%-25s : %5s\n" "User Info" "$UserInfo"
echo
printf "%-25s : %5s  [Group Id - %s]\n" "User's Primary Group" "$UserPrimaryGro$
printf "%-25s : %5s\n" "User is Member of Groups" "$UserGroups"
echo
printf "%-25s : %5s  [Size Occupied - %s]\n" "Home Directory" "$UserHomeDir" "$$
printf "%-25s : %5s\n" "Default Shell" "$UserShell"
echo

=========================================


can anyone help...

Moderator's Comments:
Mod Comment Added code tags...
 

10 More Discussions You Might Find Interesting

1. HP-UX

view user account information

How can dump the user account detail? like how long need to change password, password naming policy, how many times will lock account if login failed.. thk a lot (0 Replies)
Discussion started by: zp523444
0 Replies

2. Filesystems, Disks and Memory

script to create multiple instances of a user account across LPAR's

My company has about 40 databases with each database in a different logical partition. Presently the SysAdmin person says it is necessary to create a user profile (login and password for each instance of databases on each LPAR. 1. Is it necessary that the user must be created in each LPAR? 2.... (1 Reply)
Discussion started by: kcampbell
1 Replies

3. Shell Programming and Scripting

Create new user account and password in shell script

I am trying to create a shell script that will: check if a specific user already exists if not, create a specific group and create the user in that group assign a password to that user, where the password is passed in as a parameter to the script The problem that I need help with is 3 on... (4 Replies)
Discussion started by: killuane
4 Replies

4. Solaris

How to see the root information from user loging account?

Hi friends when ever user tried to loging to the server from the user account.we can see the from who -u command.this was fine shut@erpqas $ who -u ipadmin pts/1 Mar 18 16:05 old 157 (10.5.23.74) ipadmin pts/3 Mar 19 08:29 old 11076 ... (3 Replies)
Discussion started by: tv.praveenkumar
3 Replies

5. AIX

Using NIM to gather system information

Hi, Need help if its possible to use NIM server to gather information. Basically, we need to gather firmware version and oslevel for environment wide servers (these servers are connected thru nim). I understand you can use NIM script resource to trigger the script but don't know if possible to... (3 Replies)
Discussion started by: depam
3 Replies

6. AIX

how to gather HMC information

does somebody know how to gather HMC information? It looks like there is some tool can gather HMC configuration to a html file and make them as a xx.tar.gz file? (2 Replies)
Discussion started by: rainbow_bean
2 Replies

7. Shell Programming and Scripting

Shell script for user login information.

Hi Gurus, I need help in writing a script which should say which user has used or logged in in the server from past one month using FTP or TELNET and the output should be of the form Username Service NumberofTimes Date. Thanks in Advance. ---------- Post updated at 04:01 PM... (1 Reply)
Discussion started by: rama krishna
1 Replies

8. Solaris

Help me create new user account

I want create user. That user should be login to any server without asking password. How? tell me in detail. :wall: (3 Replies)
Discussion started by: Navkreddy
3 Replies

9. UNIX for Dummies Questions & Answers

How can I use my code to gather information from a file in a completely different directory?

I need my code to compare two different files that are in two completely different directories, How can I do this? So for example, my code will look at file1 which is in my home directory, and compare the files with those from file2 that is in /abc/adf/adr/afc/adf/file2... does that make sense? (1 Reply)
Discussion started by: castrojc
1 Replies

10. Shell Programming and Scripting

Shell script for user account Creation

Hi Folks, I had a request to create the user request. Between, I just write a script a create, Update Geos, and update the password. My script as below: The error message, what I am getting is all the users are updated with the same Goes value.. #!/bin/bash for i in `cat users.txt`;do... (2 Replies)
Discussion started by: gsiva
2 Replies
All times are GMT -4. The time now is 04:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy