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:
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...