#!/bin/sh
#########################################################
# Auteur : DUPUIS Benjamin                              #
# Version : 1.0                                         #
# Description :                                         #
#   Ce script affiche les informations utilisateurs     #
#   comme sous AIX                                      #
#########################################################

if [ ! -z "$1" ]; then
  var_TMP=$(grep $1 /etc/passwd)
  if [ -z "${var_TMP}" ]; then
    echo "User $1 not found"
    exit 15
  fi
  var_USER=$(echo ${var_TMP} | cut -d\: -f 1)
  var_GECOS=$(echo ${var_TMP} | cut -d\: -f 5)
  var_HOME=$(echo ${var_TMP} | cut -d\: -f 6)
  var_SHELL=$(echo ${var_TMP} | cut -d\: -f 7)
  var_UID=$(echo ${var_TMP} | cut -d\: -f 3)
  var_GID=$(echo ${var_TMP} | cut -d\: -f 4)
  var_GROUP=$(grep ":${var_GID}:" /etc/group | cut -d\: -f 1)
  var_GROUPS=$(awk -v var_USER=${var_USER} -F\: '
    BEGIN {
      grp=0
    }
    {
      findu=match($4, var_USER)
      if (findu) {
        if (grp==0) {
          group=$1
          grp=1
        }
        else {
          group=group","$1
        }
      }
    }
  END {
    print group
  }
  ' /etc/group)

  echo "${var_USER} id=${var_UID} prgrp=${var_GROUP} groups=${var_GROUPS} home=${var_HOME} shell=${var_SHELL} gecos=${var_GECOS} roles="
else
  awk -F ":" '{print $1}' /etc/passwd
fi

